005-学习记录篇-一文读懂dotnet代码审计

005-学习记录篇-一文读懂dotnet代码审计

💡 原文中文,约6700字,阅读约需16分钟。
📝

内容提要

ASP.NET有两种主流开发方式:Webform和MVC。Webform中,aspx文件负责显示,动作在aspx.cs文件中定义。MVC中,Model存储和处理数据,View展示数据,Controller处理用户交互。常见文件后缀包括aspx、cs、ascx、asmx、asax、config、web.config、ashx、soap。ASPX和ASP的区别在于ASP.NET是动态网络编程的设计语言。ASPX的webshell权限比ASP大。常用审计工具包括反编译工具、目录扫描工具、代码编辑器。常见漏洞案例包括任意文件上传、任意文件下载、SQL注入、XSS、未授权访问、命令执行、反序列化。

🎯

关键要点

  • ASP.NET有两种主流开发方式:Webform和MVC。
  • Webform中,aspx文件负责显示,动作在aspx.cs文件中定义。
  • MVC中,Model存储和处理数据,View展示数据,Controller处理用户交互。
  • 常见文件后缀包括aspx、cs、ascx、asmx、asax、config、web.config、ashx、soap。
  • ASPX和ASP的区别在于ASP.NET是动态网络编程的设计语言,ASPX的webshell权限比ASP大。
  • 常用审计工具包括反编译工具、目录扫描工具、代码编辑器。
  • 常见漏洞案例包括任意文件上传、任意文件下载、SQL注入、XSS、未授权访问、命令执行、反序列化。
  • WebForm模型中,aspx负责显示,.cs是类文件,.ashx是一般处理程序。
  • MVC模型中,Model实现业务逻辑层,View展示数据,Controller处理用户交互。
  • web.config文件用于储存数据库连接字符、身份安全验证等配置信息。
  • ASP.NET的全局过滤代码通常在Global.asax中定义。
  • 反编译工具如Reflector、ILSpy、DnSpy可用于查看编译后的代码。
  • 任意文件上传漏洞通过class定位后端业务处理处进行审计。
  • SQL注入漏洞通常由于SQL语句拼接和缺乏预编译SQL参数造成。
  • XSS漏洞在aspx文件中通过设置validateRequest属性进行防护。
  • 未授权访问漏洞通过AuthorizeAttribute进行控制,需关注[AllowAnonymous]特性。
  • 反序列化漏洞常见于SoapFormatter、BinaryFormatter等,需关注类型解析和数据反序列化过程。
➡️

继续阅读