.net介绍以及其常见漏洞

前言:本篇来学习.NET项目和其使用的c#的一些通用漏洞

1.0 .NET的基础介绍

.NET 是由微软(Microsoft)开发的一个用于构建各种应用程序的开发平台,包括 Web 应用程序、桌面应

用程序、移动应用程序等。它是一个综合性的技术栈,提供了一系列的开发框架、工具和库,使得开发者

能够使用多种编程语言(如 C#、VB.NET、F# 等)来快速、高效地构建应用程序。

C#:这是一种由微软开发的面向对象的编程语言,它是 .NET 平台的主要编程语言之一。C# 语言具有简

洁、安全、易学易用等特点,被广泛用于构建各种类型的应用程序

接下来我们要了解一下.net项目中的dll文件和pdb文件

DLL(动态链接库)文件是由一种或多种编程语言编写的源代码编译而来的。DLL文件通常包含可以由多

个程序同时使用的代码和数据,这些代码和数据在内存中只需要加载一次,就可以被多个程序反复调用,

从而提高了程序的运行效率。

在.NET中,DLL文件通常是由C#、VB.NET等.NET支持的语言编写的。这些语言编写的源代码首先被编译

成中间语言(Intermediate Language,简称IL),然后再由Just-In-Time(JIT)编译器转换成机器码。

生成的机器码和其他资源(如元数据)一起被打包成DLL文件。

除了.NET平台,DLL文件也可以由其他编程语言和编译器生成。例如,C++编写的代码可以被编译成DLL

文件,而这些DLL文件可以在Windows操作系统中被其他程序调用。在这种情况下,DLL文件通常包含未

经处理的机器码,而不是中间语言。

PDB(Program DataBase)文件是Visual Studio在编译链接时生成的一种文件,它主要存储了程序调试

时所需要的基本信息,如源文件名、变量名、函数名、行号等。由于PDB文件存储了调试信息,因此它通

常只在Debug模式下生成。

使用ASP.NET编写的动态web文件 .aspx文件中的实际代码往往并不是网页的全部内容,其他代码包含在

其引用的.dll文件中,所以我们在对.net开发的网页进行代码分析时.dll文件对我们来说非常重要

既然我们明白了实际执行的是dll文件,那么我们如果想要看到程序的源代码,就不得不涉及对dll文件的

反编译,所以使用反编译软件对.dll文件进行反编译非常重要。

1.1 .net的未授权访问。

未授权访问属于通用漏洞,在白盒测试下本质逻辑是寻找不包含验证登录状态代码的文件或者本身验证代

码存在的问题,如果是在黑盒测试环境下,则是通过扫描工具进行查找。

虽然是一个通用漏洞,但使用.net的网页更容易产生该问题。

1.2 中间件和数据库的通用漏洞

由于我们使用.net搭建网站时,一般使用的配置是 windows+iis+aspx+sqlserver ,所以我们上一篇讲的

iis的漏洞也能用在这里,如果sqlserver存在漏洞,也可也使用在这里。

posted @ 2024-02-07 21:27  折翼的小鸟先生  阅读(26)  评论(0编辑  收藏  举报