ASP.NET应用泄露读取分析


本篇内容主要讲解“ASP.NET应用泄露读取分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET应用泄露读取分析”吧!在最近的挖洞过程中,我遇到了以下这个urlhttps://domain.com/utility/download.aspx?f=DJ/lc1jVgHTZF…首先就觉得可以试试任意文件下载,访问后,在加载页面时,它会从服务器上的另一个路径下载帮助文档。但是它加密了,我没法篡改f的值,假设我能够找到密钥来解密参数(可能是AES加密),估计能尝试利用下LDF。不过运气还不错,在网站的旧版本中找到了相同的下载点,如下:https://domain.com/utility/download.aspx?f=file1234.docx响应如下:我立马就把参数改成download.aspx,竟然能返回apsx文件内容。经过测试,能访问aspx文件内容,但是实际的源码文件aspx.cs无法访问。有关.aspx与.aspx.cs的区别可以参考https://stackoverflow.com/questions/13182757/what-is-the-difference-between-aspx-and-aspx-cs这个问题需要解决,不然无法后续进行利用。我接着访问其他目录,看看有没有发现。使用常规的../来遍历时,发现总是返回400 bad request,估计有过滤。使用burp尝试下fuzz,看看能不能绕过。可以手工进行测试,但为了节省时间就使用以下请求进行fuzz查看返回的内容,发现使用字符+返回了正确的内容。这里我很疑惑,本地搭建环境测试的使用我使用+进行fuzz没成功,大致猜想加号在url中代表空格,也许与Window的文件名有关。既然绕过了限制,接着我尝试读取了下ashx文件,ashx文件是一种带HTML和C#的混合文件,猜测应该能读取。读取成功到这里已经能得到一些敏感信息了,接着想更深一步利用,所以我决定读取更多的源代码文件。当对一种技术迷惑的时候,最好是去读它的官方文档,所以在阅读ASP.NET应用程序文档时发现编译类是保留/bin/className.dll中的。这意味着我们应该能够提取.ashx 文件中引用的类名。通过发送以下请求,我能够下载到源文件的DLL(存储DLLhttps://blogs.msdn.microsoft.com/tom/2008/07/21/asp-net-tips-loading-a-dll-out-of-the-bin-directory/)下载后,使用dnSpy(C#反编译工具)导入DLL并恢复应用程序的源代码,之后可以下载更多的类文件来获取源代码。ASP.NET应用程序中敏感的文件有web.config,该文件本质上是一个配置文件,其中包含从单个页面到整个Web服务器的各种变量。文件里存在大量敏感信息,例如SQL数据库密码,比如上面我们看到的已加密参数的加密密钥,以及应用程序使用的内部接口。下面是一个示例web.config文件。免费云主机域名发送以下请求后,我们获取到了web.config的内容。其中响应中包含了许多secrets,最值得注意的是以下secrets的泄露。利用这些密钥可以访问Azure Key Vault实例。而Azure Key Vault用来保存应用程序的secrets,会带有一些敏感信息。现在的问题是如何正确发送请求来访问Azure Key Vault实例?在与朋友shubs讨论之后,他立马写出了一个Node.js脚本,使用公开的密钥成功访问了Azure Key Vault实例…哈哈响应如下:本次漏洞利用完成,最终获取的secrets足以让我控制系统来证明危害程度,所以可以提交报告了。到此,相信大家对“ASP.NET应用泄露读取分析”有了更深的了解,不妨来实际操作一番吧!这里是云编程开发博客网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: linux中runlevel的s指的是什么意思

这篇“linux中runlevel的s指的是什么意思”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux中runlevel的s指的是什么意思…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 02/03 11:23
Next 02/03 11:24