实战|一次项目中如何快速定位.net漏洞点

admin 2022年5月23日01:13:30评论20 views字数 2636阅读8分47秒阅读模式

扫码领资料

获黑客教程

免费&进群

实战|一次项目中如何快速定位.net漏洞点
实战|一次项目中如何快速定位.net漏洞点


随着WAF产品

作者:am0s

原文地址:https://xz.aliyun.com/t/11185


最近项目比较多,一个教育局的测试项目,主要目标为一个在线教育平台,经过信息搜集发现是一个开源的代码搭建的平台。


能找到源码就离拿下权限不远了。


这篇文章在代码审计方面没啥亮点,主要是总结一些.net快速定位漏洞的小技巧。


一、寻找源码


通过询问管理员知道是个开源的系统,但是管理员并不确定具体的信息,就需要我们自己去寻找版权


实战|一次项目中如何快速定位.net漏洞点


首页信息查看源代码,根据页面关键字去某fa搜索,确定

"/templates/web/netschool/corescripts/verify.js"
搜出来的相同站点比较多,根据案例里的连接挨个访问,在某个站底部发现版权为某厦商学院学习平台,知道版权就很容易找到源码了。

实战|一次项目中如何快速定位.net漏洞点


二、快速审计技巧


由于我不懂.net 所以审计只能靠一些简单技巧泛泛的寻找


0x01 确定路由结构


先打开aspx文件


实战|一次项目中如何快速定位.net漏洞点


class为song.site.Manage.Console 在bin目录下用illspy打开song.site.dll


实战|一次项目中如何快速定位.net漏洞点

song.site.Manage.Console 对应的url为http://www.xxx.com/Manage/console.aspx

这样基本就确定了路由访问,审计起来就比较方便了


未授权访问


发现后台部分页面存在未授权访问,对比了一下有验证和没验证的代码,但并没有发现验证信息,主要还是太菜了,不知道从哪里做的认证,只能挨个访问去判断是否为未授权


但页面太多,为了找到一个未授权的切入点,于是采用了最无脑的方法-扫目录,由于已经有了代码,所以把页面路径全部列出来做成专用字典进行跑,然后根据返回页面大小来判断是否未授权,说干就干


先用命令导出所有脚本结构


C:UsersAdministratorDesktopwxqysxy-a5>dir /a /s /b *.aspx

C:UsersAdministratorDesktopwxqysxy-a5PayWeixinNativePayPage.aspx
C:UsersAdministratorDesktopwxqysxy-a5PayWeixinOrderQueryPage.aspx
C:UsersAdministratorDesktopwxqysxy-a5PayWeixinProductPage.aspx
C:UsersAdministratorDesktopwxqysxy-a5PayWeixinPublicPay.aspx
C:UsersAdministratorDesktopwxqysxy-a5PayWeixinRefundPage.aspx
C:UsersAdministratorDesktopwxqysxy-a5PayWeixinRefundQueryPage.aspx
C:UsersAdministratorDesktopwxqysxy-a5PayWeixinResultNotifyPage.aspx
C:UsersAdministratorDesktopwxqysxy-a5UtilityCodeImg.aspx
C:UsersAdministratorDesktopwxqysxy-a5UtilityDefault.aspx

把路径处理一下做成字典,然后用burp跑


页面响应比较大,说明存在未授权


实战|一次项目中如何快速定位.net漏洞点


页面响应为197,返回为空,说明有验证或需要构造传参


实战|一次项目中如何快速定位.net漏洞点


这样就找到了所有的未授权页面,然后挨个测试就可以了

任意文件上传

客户要求以拿权限为主,经过漫长的轮一遍未授权,并没有发现有上传的地方,只能接着去看代码找上传点了,在目录下或ilspy里搜索upload等关键字找到的页面全部都有权限验证,为了找到全部的上传功能点,我们可以直接搜SaveAs等上传函数


但iLspy对代码内容搜索功能比较鸡肋,搜索加强版也不是很好用,经过百度,把代码全部导出,然后用cmd查找关键字


实战|一次项目中如何快速定位.net漏洞点

实战|一次项目中如何快速定位.net漏洞点


这样便导出了所有的项目代码文件


然后用cmd命令查找SaveAs


C:UsersAdministratorDesktopshop>findstr /msi /c:"saveas" *.*
Song.Site.Manage.AdminSetup_Qrcode.cs
Song.Site.Manage.AdminSetup_Stamp.cs
Song.Site.Manage.PanelAuthorization.cs
Song.Site.Manage.TemplateList_Edit.cs
Song.Site.Manage.UtilityExcelInput.cs
Song.Site.Manage.Utility.UploadPathUploading.cs
Song.Site.UtilityExamFileUp.cs

实战|一次项目中如何快速定位.net漏洞点


最终在Song.Site.Manage.TemplateList_Edit.cs源码里发现了上传代码没有验证,根据代码构造上传数据包


<form id="LoginForm" action="http://x:8084/Manage/Template/List_Edit.aspx" method="post" enctype="multipart/form-data">
<div class="aspNetHidden">
<input type="text" name="org">
<input type="text" name="NSRSBH">
<input type="file" name="org">
<input type="submit" name="btn_Click" id="btn_Click">

成功上传aspx文件拿到权限。


声明:本公众号所分享内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径,所有渗透都需获取授权!否则需自行承担,本公众号及原作者不承担相应的后果.


@

学习更多渗透技能!体验靶场实战练习


实战|一次项目中如何快速定位.net漏洞点

hack视频资料及工具

实战|一次项目中如何快速定位.net漏洞点

(部分展示)


往期推荐



HW中内网代理常用工具总结

个人腾讯服务器挖矿木马溯源

实战 | 记一次授权网络攻防演练(上)

记一次hw期间的溯源过程

漏洞挖掘|密码找回中的套路

Xray捡洞中的高频漏洞

网络安全人员需要考的几本(含金量高)的证书!

爬取免费代理,拥有自己的代理池

APP渗透—Android 7.0 抓包(教程)


看到这里了,点个“赞”、“再看”吧

原文始发于微信公众号(白帽子左一):实战|一次项目中如何快速定位.net漏洞点

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月23日01:13:30
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   实战|一次项目中如何快速定位.net漏洞点http://cn-sec.com/archives/1039150.html

发表评论

匿名网友 填写信息