找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 85|回复: 0

sql_fuzz-检测waf过滤关键字

[复制链接]

2万

主题

162

回帖

18万

积分

管理员

积分
184732
发表于 2022-9-5 21:45:03 | 显示全部楼层 |阅读模式 IP:山东省 移动/数据上网公共出口

登录后更精彩...O(∩_∩)O...

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Burpsuite Fuzzing



Burpsuite Fuzzing主要是通过Burpsuite Intruder模块,这好比是一把枪,通过特定设置把子弹(payload)射向目标(target-site)。

可是子弹从哪来?我们在这之前要做一些准备工作:

Fuzzdb:  https://github.com/fuzzdb-pro...

这是一个fuzz测试的payload库,上面有大量的测试payload,非常实用,我们本次sql注入就用到它。

我们使用这个payload就可以了 /attack/sql-injection/detect/xplatform.txt


然后打开Burpsuite,可以先开代理抓一个正常请求包,然后转到Intruder模块,进行如下操作:

  • 选中positions选项卡,选中uname的值部分admin,然后点击右侧的add§,这样uname的值就会被标记为payload的加载位置,其余部分就不需要标记了。

  • 选中payloads选项卡,点击图中所示的按钮加载刚刚提到的xplatform.txt,这样payload就被加载进去了。

  • 选中options选项卡,设置请求线程数、重试次数、超时时间等等信息,不一一列举了。

  • 最后点击上方菜单Intruder -> Start attack ,启动!

    等待fuzz完成后,得到如下结果:

    根据返回包长度可以分辨不同的情况:202是password error,200是no such user!,还有189是naive。

    因此可以发现有可以利用的地方,第42个请求包的返回用户名正确,证明已经绕过waf。


假如并没有可以利用的payload,可以再观察189的包看看哪些字段是被ban掉的,从而找到可以利用的字段。结合前期手测的情况和fuzz的结果,可以判断:

可使用:# || && , ascii() left() right() length()

不可使用:空格 -- or and union select from limit mid() substr() substring()

构造payload如下,xxx为payload,当xxx为真时返回password error,而xxx为假时返回no such user,这就构成了一个bool型注入。

uname='||xxx||'&pwd=123

下一步就可以开始实施注入。



https://blog.csdn.net/hahazaizheli/article/details/96428290



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|哩布大模型|Civitai大模型|IP定位|图反推|站长素材|deepseek|即梦视频|阿狗工具|花瓣网|pinterest|php手册|宝塔文档|CyberChef|猫捉鱼铃|手机版|小黑屋|下载狗|IPS|在线工具|分享屋 ( 鲁ICP备2021028754号 )

GMT+8, 2025-5-5 10:20

Powered by 分享屋 X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表