【技术分享】从JS文件中发现『认证绕过』漏洞

前言 本文重点介绍如何利用配置错误深入了解漏洞奖励项目中的身份验证绕过漏洞。 从JS文件中发现认证绕过漏洞 本文的内容源自私人漏洞赏金计划。在此漏洞计划中,接受的漏洞范围仅限于目标站...

前言 本文重点介绍如何利用配置错误深入了解漏洞奖励项目中的身份验证绕过漏洞。 从JS文件中发现认证绕过漏洞 本文的内容源自私人漏洞赏金计划。在此漏洞计划中,接受的漏洞范围仅限于目标站点的一些公开可用功能。基于前一时期发现的问题(当我被邀请加入此计划时,其他人共提交了5个漏洞),似乎很难挖掘出新的漏洞。同时,在赏金的细节中提到这样一句话: 如果您成功进入管理页面,请立即报告,不要在/admin中进行进一步测试。 但是,目标网站中的管理页面仅限于未经身份验证和未经授权的用户。当我们访问/login或/admin时,我们将跳转到https://bountysite.com/admin/dashboard?redirect=/。 登录页面上的暴力破解可能是一个可行的选择,但我不喜欢它。看一下页面的来源,没有什么用处。所以我开始研究目标网站的结构。似乎目标网站的JS文件放在几个文件夹中,例如/lib,/js,/application等。 有趣! 出来使用神器BurpSuite并使用Intruder查看是否可以在上面的文件夹中找到任何可访问的JS文件。将攻击点设置为https://bountysite.com/admin/dashboard/js/*attack*.js。请注意,不要忘记.js扩展名,以便在文件可访问时返回200响应。非常有意思!因为我找到了一些可访问的JS文件,其中一个是/login.js。 访问此JS文件https://bountysite.com/admin/dashboard/js/login.js,请求被重定向到管理页面:)。但是,我没有查看文件的权限,只有部分接口信息。

但我并没有就此止步。这看起来很奇怪,为什么我访问.js文件并将其作为HTML加载?经过一番探索,我终于发现我能够访问管理页面的原因是* login *。是的,只要* login *包含在请求路径/dashboard /之后的字符串中(除了'login',这只会将我返回到登录页面),请求将跳转到此管理界面,但它是不正确的授权。 我继续进一步测试这个受限制的管理界面。再次检查页面源并尝试找出站点的结构。在此管理界面中,还有其他JS文件可帮助我了解管理员如何执行操作。某些管理操作需要有效的令牌。我尝试使用从JS文件泄露的令牌执行相关的管理操作。该请求仍然重定向到登录页面。我在另一个真实路径中找到了一些内容,即/dashboard/controllers/*.php。 再一次使用BurpSuite,Intruder用于检查是否有其他路径可以从这里访问。作为第二个入侵者的结果,我发现几乎没有其他路径可以在未经授权的情况下访问。这基于服务器返回的500或200响应。

回到我在之前的侦察员中学到的网站结构,我发现这些路径在/controllers中定义,并通过/dashboard/* here * /进行访问。但是直接访问这些路径会跳转到登录页面,似乎该站点对Session检查非常严格。此时我感到疲倦和困倦,几乎所有人都会放弃,但我想再试一次。如果我使用与访问管理页面相同的方法来执行这些管理操作,该怎么办?非常有趣,高潮即将来临:)我能够做到这一点。 通过访问/dashboard/photography/loginx,请求跳转到管理摄影页面并具有完全访问权限!

从这里开始,我能够执行和访问/dashboard/*路径下的所有操作和目录,这些操作和目录充满了SQL注入,XSS,文件上传和公共重定向等漏洞。但是,我没有继续进行深入测试,因为这些都不属于赏金计划。根据计划要求,一旦超过管理授权限制,应立即报告问题。另外,根据管理页面上显示的调试错误消息,我可以访问管理页面,因为应用程序在/dashboard/controllers/*文件中配置错误。预期的效果是,只要* login *出现在请求链接中,它就会被重定向到主登录页面。但是,实际情况并不像预期的那样。 后记 总之,这是一个有趣的一天!我获得了此漏洞赏金计划的最大金额奖励。 本文由乘客安全翻译,作者:h4d35 原文链接:http://c0rni3sm.blogspot.com/2017/06/from-js-to-another-js-files-lead-to.html 黑客业务列表介绍和一般分类: 类别:攻击入侵破解开发 1:攻击业务订单:暂时取消所有此类业务订单[仅销售常规IDC流量] 2:入侵业务清单:包括网站源代码,办公系统,黑色系统,教育系统等。 3:破解业务类:软件,加密文件,二次打包,脱壳等。 4:二次开发业务清单:软件二次开发,源代码二次开发等 5:其他业务订单:特洛伊木马[通过所有防病毒],远程控制,特殊软件等 备注:未提及的业务订单可根据主要类别查询或直接联系客户服务。为避免浪费双方时间,请在咨询前阅读:业务交易流程及相关说明 注意:仅接受正式业务,个人无权接受。收集此内容。