今天我将分享一个非常有趣的漏洞,这是我在做bugbounty项目时发现的。此漏洞出现在印度一家受欢迎的体育公司网站上。本文是关于“如何使用主机头找出SQL注入漏洞并使用sqlmap 篡改脚本绕过...
今天我将分享一个非常有趣的漏洞,这是我在做bugbounty项目时发现的。此漏洞出现在印度一家受欢迎的体育公司网站上。本文是关于“如何使用主机头找出SQL注入漏洞并使用sqlmap 篡改脚本绕过规则并转储目标数据库”。在下面输入我们的主题
当我尝试使用突发入侵者模块来检查应用程序是否有可爆破的OTP漏洞时,我发现我的IP被立即阻止,并且从我返回的错误消息中,我基本上可以得出结论,该应用程序正在使用AWS。此外,我还发现HTTP响应中设置了“X-Amz-Cf-Id”标头(CloudFront在将请求转发给原始请求之前将CloudFront添加到查看者请求中),这更符合我的判断。

现在,让我们开始测试可能存在漏洞的地方。测试工作是一项微妙的工作,我们不能轻易放过任何地方,我们从主脑袋开始。我修改了主机头的值,但它没有做任何事情。由于应用程序在AWS上运行,因此必须使用Elastic Load Balancing(ELB),因此我决定添加X-Forwarded-Host以尝试攻击主机标头。如下 -

我将其价值设置为www.google.com,302重定向到google.com,但当我将价值设置为www.evil.com时,我收到了以下回复 -
您可以看到状态显示为403 Forbidden。显然,应用程序后端服务器肯定会设置一些主机值的白名单(因为它允许google.com但拒绝evil.com)。现在有两种可能性。一个是根据允许值的数组/列表检查脚本。第二个是它们将值存储在数据库中,因此将有一个数据库查找过程。所以,我尝试了一些针对X-Forwarded-Host值的SQL查询,如下所示 -

我可以看到我将延迟注入语句设置为执行10秒,HTTP响应时间为9.4秒,这足以证明X-Forwarded-Host头中存在SQL注入漏洞。下一个任务是提取目标数据库中的数据。我通常使用sqlmap来协助我的工作,但遗憾的是sqlmap连接被拒绝了。我尝试添加-delay和-timeout参数来限制HTTP请求并增加超时,但连接仍然被拒绝,我想这可能与字符黑名单有关。

为了验证我的猜测,我输入了一个XSS测试语句“< script> alert(1)</script>”在X-Forwarded-Host标头中,结果是HTTP STATUS 400 - BAD REQUEST ERROR
显然,脚本标记<>字符也在黑名单中。 SQLMAP为between.py提供了一个篡改脚本。我用“NOT BETWEEN”替换(<>)并将其包含在sqlmap查询中。运行一段时间后,我成功获取了目标数据库中的数据,包括用户凭据,email-id和其他信息。

以上是我与您分享的内容。我希望每个人都能学到有用的东西。同时,欢迎您分享您的良好经验和想法,以便更多人从中受益!谢谢!
报告时间表
2018.5.3 - 报告供应商。
2018.5.3 - 错误标记为已修复。
2018.5.3 - 重新测试并确认修复。
2018.5.5 - 奖励。
*参考源:medium,FB小编secist编译,从FreeBuf转移
黑客业务列表介绍和一般分类:
类别:攻击入侵破解开发
1:攻击业务订单:暂时取消所有此类业务订单[仅销售常规IDC流量]
2:入侵业务清单:包括网站源代码,办公系统,黑色系统,教育系统等。
3:破解业务类:软件,加密文件,二次打包,脱壳等。
4:二次开发业务清单:软件二次开发,源代码二次开发等
5:其他业务订单:特洛伊木马[通过所有防病毒],远程控制,特殊软件等
备注:未提及的业务订单可根据主要类别查询或直接联系客户服务。为避免浪费双方时间,请在咨询前阅读:业务交易流程及相关说明
注意:仅接受正式业务,个人无权接受。收集此内容。