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

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

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

信息收集

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

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

确定注入点

网站新闻页面的url带有明确的参数
尝试
?id=1 and 1=1
被拦截,WAF:WTS-WAF
挺常见的waf
?id=1 and 1 like 1
替换等号为立刻
不拦截,成功查询
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第1张图片
那么确定参数是int型

尝试绕过

既然有waf,那么它一定会拦截一些连接数据库的操作
尝试
?id=1 union select 1
果不其然,被拦截
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第2张图片
试试看大小写混淆
?id=1 unioN selEct 1
仍然被拦截
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第3张图片
利用换行符替换空格
?id=1%0aunion%0aselect%0a1
仍然被拦截

随便输入一个包含union select的字符串
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第4张图片
被拦截
那么我猜想,网站应该有个正则表达式对整行语句进行判断
若select前带有union,直接拦截
若是asp环境,我可以直接利用%进行截断关键字来绕过waf
但现在要另外想办法了
网站对整行语句进行判断,如果我的查询语句是一段段分开的呢?
参数是int型,这就好办了
也就是说,在注释关键词后的这一行语句,换行后再输入下一个关键词
?id=1–%0aunion–%0aselect–%0a1
不拦截,被查询

【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第5张图片
果不其然
此外,该waf会对 关键字+括号 进行拦截
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第6张图片
在括号前截断就好

构造payload

修改space2comment
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第7张图片
顺便再自己构造一条payload来替换括号
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第8张图片
带入sqlmap
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第9张图片
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第10张图片
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第11张图片
你把你给我交喽
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第12张图片

提权

拿到账号密码后登入后台
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第13张图片
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第14张图片
站长大概是觉得有个waf就万事无忧了
没有对上传的文件进行任何判断
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第15张图片
【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期_第16张图片
裤子脱完本以为有条内裤,结果是个骚货,直接菊花就对着我,那我肯定要用我的马子插进来的

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