本文共 816 字,大约阅读时间需要 2 分钟。
当我们面对一个登录框或统一认证系统(SSO)时,一时间瞎试探可能并不能取得预期效果。此时,源代码难以获取,端口扫描也未见成果。然而,一个有趣的现象总是出现:那些仅在登录后才可见的JavaScript文件往往存在未授权访问的可能性。
在初步探测阶段,使用扫描工具检查系统的路径往往能获得首要信息。通过发送递归请求,尝试不同的路径 endpoints,可以发现如"/routes/admin/"这个有趣的路径。这提示了潜在的敏感文件或功能模块的存在。
随后,我们进一步调查这些路径。尝试抓取 /routes/admin/
下的文件,意外发现了一个重要的JavaScript文件。通过分析代码,发现了一个潜在的漏洞。这一发现看似偶然,实则暗藏危机。
为了追踪更多线索,我们尝试使用LinkFinder工具,扫描项目中未加载的资源文件。这一过程让我们意外发现了一个隐藏的API接口。然而,由于缺少必要的参数,该接口对请求起到了封锁作用,似乎与我们想要的目标并不完全契合。
为了进一步简化参数,我们尝试对请求进行参数.addValue fuzzing。结果发现,当参数不存在时,系统返回200;而当参数存在时,系统却返回500错误。这表明参数的关键性作用,提示我们可能能够通过构造特定的请求参数来发现漏洞。
最终,我们成功构造了一个能触发漏洞的请求。这一步不仅仅暴露了大量敏感信息,更提示了系统存在严重的安全漏洞。该漏洞经过厂商评定,被认定为高危。
回顾整个过程,从目录探测到JavaScript文件分析,再到API提取和参数fuzz,经历了几步疏忽与发现的过程。最终,我们通过细致的工作,揭开了这款产品的安全盲区,并获得了丰厚的赏金。这提醒我们,渗透测试与漏洞挖掘需要细致与耐心。
在渗透过程中,常常需要结合多种工具和技术,并且要善于发现细节。无论是从代码抓取,还是从参数探测,都有可能带来意想不到的收获。记住,真正的安全攻防博弈永无止境。
转载地址:http://ejamz.baihongyu.com/