免责申明
本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。
学员找到我,让我审计一套源码,于是这里开始进行审计。
二、框架查看
下班之后打开进行查看,跟学员对应的靶标。
![攻防下帮助学员快速审计NET前台rce漏洞 攻防下帮助学员快速审计NET前台rce漏洞]()
下班之后打开进行查看,跟学员对应的靶标。
这里确定了UserLogin方法,于是载入反编译工具快速审计(这里其实已经开出来时MVC架构了,因为登录没有走ASPX文件)
定位到了Controller就好说了。
三、鉴权分析
一般的NET MVC架构会进行使用注解来进行鉴权,但是这个文件不是,不过我们肯定知道,登录的那个方法绝对是前台可以访问到的。
登录的方法没有非鉴权的那个注解,于是回头查看类的继承父类,然后发现,通过父类来进行查看是否存在鉴权。
像这个类当中继承了PermissionController类,我们跟入这个类查看是否存在鉴权。
像是鉴权方法,但是没找到Oninit方法,我们进行实践,这里就不贴图了,直接进行跳转回去了登录页面。
我们知道了,只要一个类继承了BaseController就是前台可以进行访问的。
四、前台文件上传
这里我们根据Controller的命名也可以才出来哪里没有鉴权
在WebApi当中没有鉴权,进行审计。
存在一个方法为uploadimg的方法,这里进行尝试上传但是失败了,找了很多资料之后了解了。
这一行要对文件进行压缩变为缩略图,我们直接上传aspx肯定不行,于是我们上传一个图片,在图片后面更改为ASPX的马子。
成功上传,但是还是不行,这里发现ASPX不可以像PHP那样子在文件后面加,上面太多的东西了,导致aspx报错,这里的解决办法是,截屏了一个一点点大小的图片进行上传,后面加马子代码,把报错降低到最低,本来想着注释图片的二进制数据,但是那个方法检测开头所以没行得通。
五、前台RCE
最终通过上述方法成功RCE。
原文始发于微信公众号(实战安全研究):攻防下帮助学员快速审计NET前台rce漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论