【代码审计-.NET】基于.NET框架开发的代码审计

简介: 【代码审计-.NET】基于.NET框架开发的代码审计

一、审计方法


1、从黑盒到白盒


--->从一个网站前端

--->查看其页面的源代码,并分析关键


--->根据关键部分使用fofa等工具去搜索(所使用的关键字部分搜到的越多的,就优先考虑,毕竟出货几率就大了)


--->然后寻找到对应的开发系统(网站一多,肯定有的地方会表明某某系统,某某技术支持等待)


--->然后再寻找到对应的源码


b1942c9ef96b48d4b306b11406e8a4bf.png


(关键部分就可以搜这些URL,找到资产最多的)


2、白盒审计

直接从源码下手,结合cnvd已经爆出,但未公布的漏洞,然后尝试在修复后的新版本中继续绕过,实现新漏洞(直接代码审计也许考虑当前版本已有的漏洞,事半功倍)


3、灰盒审计

黑盒白盒相结合的动态审计


二、审计过程


1、功能点追踪

--->黑盒寻找到功能点


--->分析请求的URL所对应源码的路由(抓包分析)


--->再分析对应的Inherits、CodeFile、CodeBehind(即所指向的程序集,以及路径等信息。找到后反编译后再进行分析)


--->再对程序进行分析是否可以利用


2、功能函数

根据平时收集的功能函数,丢审计工具里面去搜


(注:源码多用几个工具打开,有的工具可能搜不到;函数开始平时日积月累的收集,也可以多查找几个相关功能的源代码,找出这个功能的所有源代码里面相同的函数,可能就是这个功能函数了)


3、目录扫描

将源码的所有目录复制下来,然后使用bp挨个跑一遍


(如果返回字节很大,就说明可能存在未授权访问)


4、getshell

如果要getshell的话,就得考虑文件上传、命令执行等可能存在严重漏洞的功能点了


5、安全模块未引用

为了节省开发成本与时间,很多功能都是基于模块开发,最后耦合在一起的,防护模块也不例外

当某些页面为调用一些安全验证模块,就会出现对应的安全问题

在源码中寻找未调用安全模块的目录(可以使用排除法,搜索安全模块的函数,然后会出现包含安全模块的目录,将包含安全模块的目录进行排除)


6、自动扫描工具

1、ILSpyi


Releases · icsharpcode/ILSpy (github.com)

a537de6e934b40c98726020e4854aed9.png


(还一直在更新,推荐使用这个)


2、dnSpy  


Releases · dnSpy/dnSpy (github.com)


a9d7418c5b5c4690aac139e0f349b0cc.png

3、Reflector


网上下载网站可以下载到


Reflector下载免费版_.NET Reflector(.NET反编译工具下载)绿色免费版11.1 - 系统之家 (xitongzhijia.net)


目录
相关文章
|
5天前
|
设计模式 开发框架 JavaScript
基于.NET8 + Vue/UniApp前后端分离的快速开发框架,开箱即用!
基于.NET8 + Vue/UniApp前后端分离的快速开发框架,开箱即用!
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
100 3
|
5天前
|
消息中间件 监控 数据可视化
基于.NET开源、功能强大且灵活的工作流引擎框架
基于.NET开源、功能强大且灵活的工作流引擎框架
|
5天前
|
存储 缓存 NoSQL
2款使用.NET开发的数据库系统
2款使用.NET开发的数据库系统
|
5天前
|
开发框架 网络协议 .NET
C#/.NET/.NET Core优秀项目和框架2024年10月简报
C#/.NET/.NET Core优秀项目和框架2024年10月简报
|
5天前
|
网络协议 Unix Linux
精选2款C#/.NET开源且功能强大的网络通信框架
精选2款C#/.NET开源且功能强大的网络通信框架
|
5天前
|
开发框架 JavaScript 前端开发
2024年全面且功能强大的.NET快速开发框架推荐,效率提升利器!
2024年全面且功能强大的.NET快速开发框架推荐,效率提升利器!
|
5天前
|
网络协议 网络安全 Apache
一个整合性、功能丰富的.NET网络通信框架
一个整合性、功能丰富的.NET网络通信框架
|
28天前
|
JSON C# 开发者
C#语言新特性深度剖析:提升你的.NET开发效率
【10月更文挑战第15天】C#语言凭借其强大的功能和易用性深受开发者喜爱。随着.NET平台的演进,C#不断引入新特性,如C# 7.0的模式匹配和C# 8.0的异步流,显著提升了开发效率和代码可维护性。本文将深入探讨这些新特性,助力开发者在.NET开发中更高效地利用它们。
33 1
|
1月前
|
开发框架 前端开发 API
C#/.NET/.NET Core优秀项目和框架2024年9月简报
C#/.NET/.NET Core优秀项目和框架2024年9月简报