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

/文章作者:Kali_MG1937
CSDN博客号:ALDYS4
QQ:3496925334
/

今天google找注入点的时候发现某企业一个挺有意思的waf
常规操作绕过去后决定写一篇博客

信息收集

如果有看我前两期绕过waf系列
应该能知道前两期的网站环境均为iis+asp
这种环境下的查询支持非标准Unicode编码
如%u0027,%u003d
这样的编码形式,一些waf并不拦截这些非标准Unicode
更重要的是,它允许网址中夹带无用的百分号%
此环境下的数据库在查询时会自动忽略无用的%
那么利用%对关键字进行截断就很有用,可以看到前两期我基本上用的这种方法过的waf

但这回不一样,php环境,不再是asp环境
也就是说,网站不再支持非标准Unicode编码
这也就给渗透增加了难度和新的挑战

确定注入点

网站新闻页面的url带参数,尝试注入

GET 结果
?id=1 and 1=1 被拦截,WAF:WTS-WAF

挺常见的waf
替换等号为like

?id=1 and 1 like 1 不拦截,成功查询

在这里插入图片描述
那么确定参数是int型

尝试绕过

既然有waf,那么它一定会拦截一些连接数据库的操作
尝试

GET 结果
?id=1 union select 1 果不其然,被拦截

在这里插入图片描述
试试看大小写混淆

GET 结果
?id=1 unioN selEct 1 仍然被拦截

在这里插入图片描述
利用换行符替换空格

GET 结果
?id=1%0aunion%0aselect%0a1 仍然被拦截

随便输入一个包含union select的字符串
在这里插入图片描述
也被拦截
那么我猜想,网站应该有个正则表达式对整行语句进行判断
若关键字select前带有union,直接拦截
若是asp环境,我可以直接利用%进行截断关键字来绕过waf
但现在要另外想办法了
网站对整行语句进行判断,如果我的查询语句是一段段分开的呢?
也就是说,利用两个连续的 “–” 符号注释关键词后的这一行,换行后再输入下一个关键词

GET 结果
?id=1--%0aunion--%0aselect--%0a1 不拦截,被查询

在这里插入图片描述
果不其然
此外,该waf会对 关键字+括号 进行拦截
在这里插入图片描述
经测试在括号前利用 %0a-- 截断就能绕过

构造payload

修改space2comment的脚本
在这里插入图片描述
顺便再自己构造一条payload来替换括号
在这里插入图片描述
带入sqlmap
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
你把你?给我交喽
在这里插入图片描述

提权

拿到账号密码后登入后台
在这里插入图片描述
在这里插入图片描述
站长大概是觉得有个waf就万事无忧了
没有对上传的文件进行任何判断
在这里插入图片描述
在这里插入图片描述
裤子脱完本以为有条内裤,结果是个骚货,直接菊花就对着我,那我肯定要用我的马子插进来的

发布了31 篇原创文章 · 获赞 244 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/ALDYS4/article/details/90137084