【代码审计-.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)


目录
相关文章
|
11天前
|
开发框架 算法 Java
.NET 开发:实现高效能的秘诀
【7月更文挑战第4天】探索.NET高效开发涉及理解运行时(如GC、JIT)、代码与算法优化及工具利用。关键点包括适应性垃圾回收、异步编程、明智的并发控制;编写高效代码(避免对象创建,选对数据结构和算法);使用性能分析工具,善用高性能框架如ASP.NET Core,并借助云服务和CI/CD流程持续优化。性能优化是持续学习与实践的过程。
21 1
|
1月前
|
开发框架 前端开发 .NET
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
集成于VS 2019,EXT.NET前端和ASP.NET后端,搭配MSSQL 2018数据库。系统覆盖样品管理、数据分析、报表和项目管理等实验室全流程。应用广泛,包括生产质检(如石化、制药)、环保监测、试验研究等领域。随着技术发展,现代LIMS还融合了临床、电子实验室笔记本和SaaS等功能,以满足复杂多样的实验室管理需求。
36 3
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
|
11天前
|
人工智能 前端开发 Devops
NET技术在现代开发中的影响力日益增强,本文聚焦其核心价值,如多语言支持、强大的Visual Studio工具、丰富的类库和跨平台能力。
【7月更文挑战第4天】**.NET技术在现代开发中的影响力日益增强,本文聚焦其核心价值,如多语言支持、强大的Visual Studio工具、丰富的类库和跨平台能力。实际应用涵盖企业系统、Web、移动和游戏开发,以及云服务。面对性能挑战、容器化、AI集成及跨平台竞争,.NET持续创新,开发者应关注技术趋势,提升技能,并参与社区,共同推进技术发展。**
11 1
|
11天前
|
机器学习/深度学习 人工智能 开发者
.NET 技术:为开发带来新机遇
【7月更文挑战第4天】**.NET技术开启软件开发新篇章,通过跨平台革命(.NET Core, Xamarin, .NET MAUI)、云服务与微服务(Azure, DevOps, Docker)及AI集成(ML.NET, 认知服务, TensorFlow)为开发者创造新机遇。开源社区的繁荣与性能提升使.NET更具竞争力,推动智能应用的创新与发展。开发者需紧跟潮流,利用这些工具和框架构建高效、创新的解决方案。**
8 1
|
25天前
|
SQL 监控 安全
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
|
1月前
|
开发框架 JavaScript 前端开发
分享7个.NET开源、功能强大的快速开发框架
分享7个.NET开源、功能强大的快速开发框架
|
1月前
|
SQL JavaScript NoSQL
.NET有哪些好用的定时任务调度框架
.NET有哪些好用的定时任务调度框架
|
2月前
|
开发框架 .NET C#
使用C#进行.NET框架开发:深入探索与实战
【5月更文挑战第28天】本文探讨了C#在.NET框架中的应用,展示了其作为强大编程语言的特性,如类型安全、面向对象编程。C#与.NET框架的结合,提供了一站式的开发环境,支持跨平台应用。文中介绍了C#的基础知识,如数据类型、控制结构和面向对象编程,以及.NET的关键技术,包括LINQ、ASP.NET和WPF。通过一个实战案例,展示了如何使用C#和ASP.NET开发Web应用,包括项目创建、数据库设计、模型和控制器编写,以及视图和路由配置。本文旨在揭示C#在.NET开发中的深度和广度,激发开发者探索更多可能性。
|
25天前
|
安全 前端开发 Java
代码审计-Java项目&Filter过滤器&CNVD分析&XSS跨站&框架安全
代码审计-Java项目&Filter过滤器&CNVD分析&XSS跨站&框架安全
|
1月前
|
人工智能 自然语言处理 算法
分享几个.NET开源的AI和LLM相关项目框架
分享几个.NET开源的AI和LLM相关项目框架