文章总结: 本文记录了一次针对MSSQL数据库的SQL注入及WAF绕过实战。作者发现注入点后确认列数并识别数据库类型。针对WAF拦截延时函数的情况,采用布尔盲注策略,利用len()、db_name()、ascii()及substring()函数结合二分法,逐步爆破数据库名与表名。最终通过编写脚本自动化执行,成功规避WAF检测并获取数据。 综合评分: 85 文章分类: 渗透测试,WEB安全,漏洞分析
记一次MSSQL注入绕waf过程
原创
zkaq-郑居中 zkaq-郑居中
掌控安全EDU
2026年2月11日 11:20 江西
扫码领资料
获网安教程
本文由掌控安全学院 – 郑居中 投稿
来Track安全社区投稿~
千元稿费!还有保底奖励~( https://bbs.zkaq.cn)****
在挖漏洞时,使用 xia sql 插件发现一个注入点,经过测试发现存在 waf 拦截记录一下。
在查询中发现单引号是空白页面,在加一个单引号,显示空数据,但是有回显,初步判断 pname 存在 SQL注入。
然后判断列数1’order by 9–无回显,1’order by 8–有回显,所以为 8 列。
像这种有回显、无回显,只能选择盲注,第一反应是时间盲注,那就要看是什么数据库,根据 asp 我们选择 mysql、sqlserver 数据库,不同的数据库,延时语句不一样。
mysql:sleep()
sql server:waitfor delay 0:0:8
但是输入 1'if(length(database())=6,sleep(3),0)-- 报错回显 502,说明存在 waf 拦截,经过测试 waf 拦截了 sleep()这个函数,那就避开 sleep()函数,先测试其他函数benchmark(),也被拦截。
hex()、bin()==>ascii()
sleep()==>benchmark()
concat_ws()==>group_concat()
mid()、substr()==>substring()
@@version==>version()
@@datadir==>datadir()
逻辑符号:如and和or不能使用时,尝试&&和||双管道符。
在使用 length()判断数据库名称的长度时,没有 502,返回空白页面,说明 WAF 没有拦截,但是语法错误,怎么会错呢?
想了半天,应该时 SQL server 数据库,不支持 length()、database()函数,使用 len()、db_name()函数测试。
len()函数计算正确和错误,回显数据不一致,说明猜测正确,数据库类型为 SQL server。
那就先测出 db_name()数据库名称的长度。爆破出数据库名称长度为 15 位。
使用 sql server 数据库中的waitfor delay ‘0:0:8’,发现还是被拦截,想到 db_name()和 len()没有被拦截,那就使用 substring()、ascii()函数一个一个计算数据库的字符。
?pName=1%27%20or%20ascii(substring(db_name(),1,1))>100–,使用二分法判断
?pName=1’or ascii(substring(db_name(),1,1))=104–,最后判断出 db_name 第一个字符为 104—–h。
一个一个测是不可能的,直接写一个简单脚本跑一下。直接拿到数据库名称。
数据库得到了,接下来就按部就班的测试表的名称,计算第一个表的长度。
1’or%20len((select%20top%201%20name%20from%20sys.tables))%3D10–
第一个表的长度是 18,接下来就按部就班的使用脚本跑就可以。
申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
没看够~?欢迎关注!
分享本文到朋友圈,可以凭截图找老师领取
上千教程+工具+交流群+靶场账号哦
分享后扫码加我!
回顾往期内容
我与红队:一场网络安全实战的较量与成长
网络安全人员必考的几本证书!
文库|内网神器cs4.0使用说明书
重生HW之感谢客服小姐姐带我进入内网遨游
手把手教你CNVD漏洞挖掘 + 资产收集
【精选】SRC快速入门+上分小秘籍+实战指南
代理池工具撰写 | 只有无尽的跳转,没有封禁的IP!
点赞+在看支持一下吧~感谢看官老爷~
你的点赞是我更新的动力
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:掌控安全EDU zkaq-郑居中 zkaq-郑居中《记一次MSSQL注入绕waf过程》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论