安全矩阵

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

干货 | .Net代码审计快速定位漏洞的小技巧

[复制链接]

260

主题

275

帖子

1065

积分

金牌会员

Rank: 6Rank: 6

积分
1065
发表于 2022-4-14 17:45:49 | 显示全部楼层 |阅读模式
本帖最后由 luozhenni 于 2022-4-14 17:45 编辑

干货 | .Net代码审计快速定位漏洞的小技巧

am0s HACK学习呀 2022-04-14 17:21

文章来源:先知社区地址:https://xz.aliyun.com/t/11185作者:am0s

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

首页信息查看源代码,根据页面关键字去某fa搜索,确定"/templates/web/netschool/corescripts/verify.js"
搜出来的相同站点比较多,根据案例里的连接挨个访问,在某个站底部发现版权为某厦商学院学习平台,知道版权就很容易找到源码了。


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

0x01 确定路由结构
先打开aspx文件

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

song.site.Manage.Console 对应的url为http://www.xxx.com/Manage/console.aspx
这样基本就确定了路由访问,审计起来就比较方便了

0x02 未授权访问
发现后台部分页面存在未授权访问,对比了一下有验证和没验证的代码,但并没有发现验证信息,主要还是太菜了,不知道从哪里做的认证,只能挨个访问去判断是否为未授权,但页面太多,为了找到一个未授权的切入点,于是采用了最无脑的方法-扫目录,由于已经有了代码,所以把页面路径全部列出来做成专用字典进行跑,然后根据返回页面大小来判断是否未授权,说干就干
先用命令导出所有脚本结构
  1. C:\Users\Administrator\Desktop\wxqysxy-a5>dir /a /s /b *.aspx

  2. C:\Users\Administrator\Desktop\wxqysxy-a5\Pay\Weixin\NativePayPage.aspx
  3. C:\Users\Administrator\Desktop\wxqysxy-a5\Pay\Weixin\OrderQueryPage.aspx
  4. C:\Users\Administrator\Desktop\wxqysxy-a5\Pay\Weixin\ProductPage.aspx
  5. C:\Users\Administrator\Desktop\wxqysxy-a5\Pay\Weixin\PublicPay.aspx
  6. C:\Users\Administrator\Desktop\wxqysxy-a5\Pay\Weixin\RefundPage.aspx
  7. C:\Users\Administrator\Desktop\wxqysxy-a5\Pay\Weixin\RefundQueryPage.aspx
  8. C:\Users\Administrator\Desktop\wxqysxy-a5\Pay\Weixin\ResultNotifyPage.aspx
  9. C:\Users\Administrator\Desktop\wxqysxy-a5\Utility\CodeImg.aspx
  10. C:\Users\Administrator\Desktop\wxqysxy-a5\Utility\Default.aspx
复制代码

把路径处理一下做成字典,然后用burp跑
页面响应比较大,说明存在未授权

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

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

0x03 任意文件上传
客户要求以拿权限为主,经过漫长的轮一遍未授权,并没有发现有上传的地方,只能接着去看代码找上传点了,在目录下或ilspy里搜索upload等关键字找到的页面全部都有权限验证,为了找到全部的上传功能点,我们可以直接搜SaveAs等上传函数,但iLspy对代码内容搜索功能比较鸡肋,搜索加强版也不是很好用,经过百度,把代码全部导出,然后用cmd查找关键字


这样便导出了所有的项目代码文件
然后用cmd命令查找SaveAs
  1. C:\Users\Administrator\Desktop\shop>findstr /msi /c:"saveas" *.*
  2. Song.Site.Manage.Admin\Setup_Qrcode.cs
  3. Song.Site.Manage.Admin\Setup_Stamp.cs
  4. Song.Site.Manage.Panel\Authorization.cs
  5. Song.Site.Manage.Template\List_Edit.cs
  6. Song.Site.Manage.Utility\ExcelInput.cs
  7. Song.Site.Manage.Utility.UploadPath\Uploading.cs
  8. Song.Site.Utility\ExamFileUp.cs
复制代码


最终在Song.Site.Manage.Template\List_Edit.cs源码里发现了上传代码没有验证,根据代码构造上传数据包
  1. <form id="LoginForm" action="http://x:8084/Manage/Template/List_Edit.aspx" method="post" enctype="multipart/form-data">
  2. <div class="aspNetHidden">
  3. <input type="text" name="org">
  4. <input type="text" name="NSRSBH">
  5. <input type="file" name="org">
  6. <input type="submit" name="btn_Click" id="btn_Click">
复制代码


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



回复

使用道具 举报

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

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-3-29 16:59 , Processed in 0.015661 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

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