我如何在旧的公共漏洞赏金计划中发现SQL注入漏洞

admin 2024年10月15日17:59:31评论21 views字数 1400阅读4分40秒阅读模式

我如何在旧的公共漏洞赏金计划中发现SQL注入漏洞

建议

如何发现别人没挖到的漏洞?

1.一定要测试集成API,BurpSuite扫描器可能无法覆盖这些API。

2.使用以下Google dork语法在现有目标中查找最近更新的页面,以发现新的功能或API进行SQL注入测试:

site: target.com after:10 september 2024

这些功能或 API 很可能还未被其他漏洞猎人探索过。

正文

我已经在这个漏洞奖励计划上进行了三年的漏洞挖掘。尽管这是一个非常老旧的项目,但我仍然能够在其中发现SQL注入漏洞。

目标:site.redacted.com

我登录该应用程序后,发现有一个供已登录用户使用的聊天框功能,用户可以通过该功能获得支持服务。由于这个聊天框是第三方提供的,我起初并没有进行过多测试,认为它应当属于范围之外。然而,我注意到该聊天框中出现了一个新的功能——“连接AI助手”。当启动这个AI助手时,它会在主聊天框中打开一个AI对话窗口。

那么,这部分功能是否属于范围之外?

为了找到答案,我使用BurpSuite拦截器拦截了“启动AI对话框”的请求,发现该操作会触发一个API请求,向聊天代理发送授权令牌,令牌来自site.redacted.com。

授权完成后,AI对话框启动。当我在对话框中输入文本并发送时,API请求会被发送到我们的目标主机。

请求的URL格式如下:

https://site.redacted.com/external-api/chat-agent/api/conversation/message

这是连接聊天代理的API,在POST请求体中包含了许多参数,因此我逐一对这些参数进行SQL注入测试。

我在所有参数中输入了单引号和双引号,试图发现是否存在基于错误的SQL注入漏洞,但没有成功。

通过Wappalyzer工具,我发现该站点的主域名正在使用MySQL数据库:

我如何在旧的公共漏洞赏金计划中发现SQL注入漏洞

基于此信息,我推测该子域也使用MySQL,因此我在各个参数中尝试了MySQL的基于时间的SQL注入 Payload:

(select*(from(select(sleep(5)))a)

结果我发现userId参数存在漏洞,但事情似乎有些不对劲。我在sleep函数中输入了“5”,但应用程序的响应时间却为15秒。

为了进一步了解情况,我在负载中输入了“1”、“3”和“5”,并得到了以下结果:

1、sleep(1) -> 响应时间 = 3.9秒

我如何在旧的公共漏洞赏金计划中发现SQL注入漏洞

2、sleep(3) -> 响应时间 = 9.9秒

我如何在旧的公共漏洞赏金计划中发现SQL注入漏洞

3、sleep(5) -> 响应时间 = 15.9秒

我如何在旧的公共漏洞赏金计划中发现SQL注入漏洞

结论:应用程序在每秒睡眠的基础上额外增加了大约3秒的延迟。可能是因为userId参数在SQL查询中被多处使用。但这种额外延迟并不会影响漏洞利用。

接下来,我使用SQLmap对数据库进行了转储:

我如何在旧的公共漏洞赏金计划中发现SQL注入漏洞

在相同的请求中,另一个参数accountId也存在漏洞。我将以下SQL注入 Payload附加在accountId参数的现有值后,以实现延迟响应:

"accountId":"12345'+(select*(from(select(sleep(5)))a)+'"

原文出处:https://medium.com/@kshunya/how-i-got-time-based-sql-injection-in-an-old-public-bug-bounty-program-f6260cd4e75e

我如何在旧的公共漏洞赏金计划中发现SQL注入漏洞

原文始发于微信公众号(玲珑安全):我如何在旧的公共漏洞赏金计划中发现SQL注入漏洞

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月15日17:59:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   我如何在旧的公共漏洞赏金计划中发现SQL注入漏洞https://cn-sec.com/archives/3271790.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息