这期内容当中小编将会给大家带来有关如何挖掘并成功利用Popular Sports网站主机头的SQL注入漏洞,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
下面是“我如何利用主机头找出SQL注入漏洞,以及使用sqlmap tamper脚本绕过规则并dump目标数据库”的完整过程。
当我尝试使用burp intruder模块检查应用是否存在可爆破OTP漏洞时,我发现我的IP被立马阻止了,并且从返回的错误信息我基本可以断定该应用使用的的是AWS。此外,我还发现在HTTP响应中设置了“X-Amz-Cf-Id”头(CloudFront在将请求转发到原始请求之前将CloudFront添加到查看器请求中),这也更加肯定了我的判断。
现在,我们开始来测试可能存在漏洞的地方。测试工作可是个细活,任何一个地方我们都不能轻易的放过,我们从主机头开始。我修改了主机头的值但并没有任何作用。因为该应用运行在AWS上,所以他们必定使用了弹性负载均衡(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请求以及增加超时时间,但仍然连接被拒绝,我猜测这可能与字符黑名单有关。
为了验证我的猜测,我在X-Forwarded-Host头中输入了一个XSS测试语句“<script>alert(1)</script>”,果不其然响应结果为HTTP STATUS 400 — BAD REQUEST ERROR
很明显,脚本标签,<,>字符也在黑名单列表中。SQLMAP中提供了一个between.py的tamper脚本,我将(<,>)替换为了“NOT BETWEEN”,并在sqlmap查询中包含了它。运行了一段时间后,我成功获取到了目标数据库中的数据,其中包括用户凭据,email-id等信息。
上述就是小编为大家分享的如何挖掘并成功利用Popular Sports网站主机头的SQL注入漏洞了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。