【渗透日记】一处任意文件下载到Web后台、服务器权限接管

Mangofang 发布于 2025-06-17 77 次阅读


使用的软件:

  1. BurpSuite
  2. ILSpy

前言

此处是一个由任意文件下载导致的代码泄露,由于是一个.Net的Web,我们可以通过任意文件下载获取到bin路径下的动态链接库文件,对其进行反编译拿到代码从而进行审计

文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!


1、任意文件下载

在某处附件下载位置发现任意文件下载,这个不过多赘述,附带后面找到的代码。

值得一提的是该处不知道是什么问题,程序员将不决定下载目标文件的filename进行了过滤处理,而将真正决定下载目标文件的filepath忽略过滤,值得反思。

实际上在前期的信息收集过程中已知悉,目标主机是IIS + Asp.Net + Mssql的一个结构,我们可以获得web.config观察连接字符串,扫描目标是防火墙是否对外开放1433端口(mssql默认端口),如果开放的话可以直接连接对其进行提权。具体的mssql提权方式此前文章已有提及。

这里扫描结果关闭的话我们可以换一个思路。通常来说asp.net会将程序集打包为dll文件,放入根目录下的bin文件夹中,然后通过继承(Inherits)来调用函数

那么我们就可以通过刚刚的任意文件下载获取程dll文件来审计,但是虽然知道在bin目录下,但是具体是哪个文件呢?Aspx需要使用程序集中的代码,需要使用Inherits,可以随便下载一个aspx观察其继承的类来找dll文件名。例如此处随便获取的一个aspx,其Inherits继承自**.**.webs.viewers,那么可以得知其dll名为***。

那么直接下载审计即可。

2、代码审计

C#的程序通常可以使用ILSpy或者其他C#反编译程序直接拿到源代码

首先是一处SQL注入,由于其使用站库分离,此处SQL测试也是可以通过提权获取到数据库服务器权限

其次是一处任意文件上传,此处可以直接获得目标服务器权限

说实话这个系统到这里其实可以说是漏洞百出几乎每一处sql操作都存在注入,纯拼接说是。这里就先跳过了。

转念一项会不会登录位置也存在SQL呢,有的,兄的有的。

登录处SQL导致的任意用户登录,这里就不放代码了,和此前的sql没有本质区别。

也是网站权限+服务器权限+数据库服务器权限,统统拿下了,又水一篇。

此作者没有提供个人介绍。
最后更新于 2025-06-17