发现美国海军网站的敏感信息泄露和sql注入漏洞-k8凯发天生赢家

发现美国海军网站的敏感信息泄露和sql注入漏洞
作者:freebuf.com 发布时间:2019-08-28

最近,作者通过hackerone的美国国防部漏洞众测项目(hack the pentagon),发现了美国海军某网站的敏感信息泄露和sql注入两个高危严重漏洞,漏洞非常容易发现且安全风险极高,以下是相关分享。

- 敏感信息泄露

- sql注入

发现漏洞

由于我将在2020年底上大学,因此最近我打算申请美国海军后备军官训练队的奖学金(naval rotc),出于这个原因,在访问海军部队申请奖学金的教育培训网站时,我也顺便做了一些安全测试。当然,该海军相关网站也在范围之内。令我惊讶的是,我竟然在这个网站中发现了多个高危和严重级别漏洞,其中两个尤为特别。

敏感信息泄露漏洞

我在对网站应用的侦察识别过程中,执行了对其子目录/nrotc的未授权web路径猜解扫描,之后,发现了一个名为trace.axd的页面,该页面的状态响应码为302,访问它时会跳转到一个登录页面。

trace.axd:跟踪查看器,asp.net架构中的调试器,可用来配置代码跟踪服务以控制如何收集、存储和显示跟踪结果。在网站应用启用该跟踪功能后,可以使用trace.axd来查看 asp.net 收集并缓存的跟踪信息。

然后,我换firefox打开/nrotc/trace.axd页面,在其跳转的登录页面中,我输入了一些测试用的常用用户名密码提交,想想它会做何响应。碰巧一对用户名密码登录成功,/nrotc/trace.axd页面状态响应码为200,最后进入的是一个标题名为“application trace”(应用跟踪)的页面。

该页面与网站其它页面不同,我猜想它是web服务或应用程序的内置调试页面。果然谷歌了一番,我才知道,trace.axd是asp.net中的调试功能,可以保存一些http请求的应用缓存信息。默认情况下,该调试功能只能通过localhost的本机才能访问。我都能远程访问了,这也就是说,该功能可能被人为错误配置远程开启了。

综合来看,值得注意的是:如果我们在使用asp.net架构的目标网站上发现一个ssrf漏洞,那么,最简单的提权方法就是,看看我们能否有对trace.axd的访问权限。

接下来,我想看看这个调试功能页面具体会返回什么,通过一些请求后,我发现其响应返回了一些敏感信息,包括网站注册人员的社会安全号码、用户名、邮箱地址、明文密码、会话token、csrf token,以及如软件、文件系统和http头等其它一些应用程序特定信息。

这就说明问题了,这绝对是一个严重漏洞(critical),如此简单且无需提权,但却极具威胁影响。由于任何人都可到该网站上注册账号,所以任何人都可能发现该漏洞。

sql注入漏洞

与此同时,我决定再利用上述的调试器功能来对网站做一些深入的测试分析,果不其然,我通过/nrotc/trace.axd页面,又发现了另外一些我用工具dirsearch无法探测到的网页。

但这些发现的大多数应用页面需要一定的权限才能有效正常响应,但我在该网站注册的账号只属于普通账号,所以我也无法对这些页面深入分析了。某种程度上来说,虽然可以用上述trace.axd调试器页面的响应信息去劫持一些高权限用户的会话session,但我觉得那种构造利用太过于复杂了。

穷途末路之时,我发现在一个子目录下,除一个特殊页面之外,其它所有页面都需要更高权限才能访问。于是,我就反回来在trace.axd中寻找针对这个特殊页面的请求,发现了其post的请求主体内容,紧接着,我重放了这个请求,但我的会话token就被包含进去了,我捣鼓着尝试把post中的参数,更改为一些测试sql注入或xss的payload -’”>。

这下,让我惊讶的是,其中的一个参数竟然存在sql注入!这种军方系统,还是不敢太过深入,所以我没做进一步的sql注入代码执行,验证了就行,就点到为止吧。赶紧上报漏洞。

由于我发现上报的以上两个漏洞,我被美国国防部网络犯罪中心(department of defense cyber crime center ,dc3)评为当月最佳安全研究员。

经验总结

此外,我对多个美国海军网站进行安全测试后,我得到的一点经验就是:在做前期踩点侦察时对 java 的逆向分析也很重要,通常,很多web开发人员会在 java中留下一些未做明显标记但却可以实现的api功能,而且,这些隐藏功能漏洞百出且很少会被人发现,因此,非常值得对它们进行深入测试。

漏洞上报和处理进程

2019年3月31日: 上报敏感信息泄露漏洞

2019年4月1日: 上报sql注入漏洞

2019年4月10日: 敏感信息泄露漏洞被修复

2019年4月11日: sql注入漏洞被修复

2019年5月6日: 美国国防部评定为

2019年8月19日: 在hackerone上披露以上两个漏洞

*参考来源:aaronesau,clouds编译整理,转载请注明来自freebuf.com


网站地图