本文咱们会介绍怎么经过运用公共言语运转时运用程序域办理器履行恣意代码并保护对Microsoft Windows体系的拜访。
东西、安全性评价和测验
在安全性评价中,取得对安排内部 *** 的初始拜访是一项十分具有挑战性的使命,需求花费许多的时刻和精力。
为了处理这个问题,能够运用多种持久性技能。这些技能能够保证失掉拜访权仅仅暂时的,这意味着你能够在特定的时刻或履行特定的操作之后康复拜访权限。本文解说了怎么经过运用公共言语运转时运用程序域办理器履行恣意代码并保护对Microsoft Windows体系的拜访。
在这篇文章中,咱们将详细介绍:
1.根本.Net常识(例如公共言语运转时,大局程序集缓存);
2.PowerShell脚本的基础常识;
3.C#编程的基础常识
.Net概述
.Net是Microsoft于2002年2月发布的开发渠道,支撑三种言语:C#,F#和Visual Basic .Net(VB.NET)。
C#1.0于2002年1月初次发布,现在是最盛行和最常用的.Net言语之一。这是一种高档的面向目标编程言语,首要用于开发胖客户端运用程序,Web运用程序和移动运用程序(Xamarin)。
F#1.x于2005年5月发布,是一种用于科学和数据分析的强函数式言语。
最终说说VB.NET,其之一个版别于2002年发布,根据Visual Basic 7.0,用于开发桌面运用程序。
.Net之所以变得如此受欢迎的原因是因为它供给了许多风趣的功用,例如:
1.主动内存办理功用:垃圾搜集(GC)主动免除分配.Net运用程序运用的已分配内存,别的GC还保证只能拜访分配的内存,然后保证内存安全。
2.运用非保管资源功用:不由.Net保护的资源称为非保管资源,.Net运用程序能够经过保管类型(例如MemoryStream、CryptoStream、UnmanagedMemoryStream等)运用这些非保管资源。
3.类型安全功用:类型的每个目标都界说了具有不同可拜访等级的办法和特点,例如private、public、protected、internal、protected internal、private internal。.Net在测验拜访未界说或不行拜访的办法或特点时,经过抛出运转时或编译时异常来保证类型安全。
4. delegate函数和“Lambda 表达式”: 托付(delegate)是一种类型安全的函数指针,用于通用言语运转库(CLI)。在C#中,delegate是一种class,包装了一个或多个函数指针及绑定的类实例。“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式根据数学中的λ演算得名,直接对应于其间的lambda笼统(lambda abstraction),是一个匿名函数,即没有函数名的函数,Lambda表达式能够表明闭包(留意和数学传统意义上的不同)。
5. Java泛型(Generics): 泛型是Java SE 1.5的新特性,泛型的实质是参数化类型,也就是说所操作的数据类型被指定为一个参数。Generics有“类的,特点的”之意,在Java中代表泛型,泛型作为一种安全机制而发生。
类能够运用泛型来答应程序员在结构类时指定类型,例如,完成泛型数据结构的类型是List,它可用于结构字符串List或整数列表的强类型List。
6.异步编程:经过C#中的async和await关键字,编写I / O绑定和CPU绑定的异步代码适当简略,这有助于改进运用程序的履行时刻和功用。
7.言语集成查询(LINQ):言语集成查询是微软公司供给的一项新技能。它能够将查询功用直接引进到.NET Framework 3.5所支撑的编程言语(如C#、Visual Basic等)中,使开发人员能够在运用程序代码中构成根据调集的查询,而不用运用独自的查询言语。查询操作能够经过编程言语本身来传达,而不是以字符串嵌入到运用程序代码中。LINQ的语法和语义和SQL很像,具有许多相同的优势。要查询的数据的内部结构发送改动后,不用修正查询代码。留意,尽管LINQ和SQL看起来很像,但LINQ愈加灵敏,并且能处理规模更大的逻辑数据结构。例如,LINQ能处理以层次化的 *** 安排的数据,例如XML文档中的数据。
8.互操作性:操作体系供给了运用程序编程接口(API),能够用来拜访操作体系办理的函数和信息的硬件。.Net供给了多种办法来调用体系的API。此外,在Windows上,互操作性答应运用组件目标模型(COM)组件。
7.不安全的代码:为了操作内存块(如API调用、指针、算法),拜访本机内存是必要的,能够在c#中运用不安全的关键字来履行不安全的代码。
尽管多年来,.Net诞生了不同的完成 *** ,但就实质来讲,.Net只要四种首要的完成 *** :
· 1..Net结构:这是.Net在2002年的开始完成 *** ,此完成仅适用于Windows体系,用于开发Web,Windows,Windows Phone,Windows Server和Azure的运用程序;
· 2..Net内核:这是.Net的开源和跨渠道完成,首要用于构建设备、云和物联网(IoT)运用程序;
· 3. Mono:Mono是根据.Net Framework的.Net的开源和跨渠道完成,该结构开始是为在Unix体系上运用.Net Framework运用程序而开发的。现在,Mono首要由Xamarin用于Android,iOS,tvOS和watchOS运用程序。Xamarin作为一个跨渠道开发结构始创于2011年,旨在使移动开发变得难以置信地快捷和简略。Xamarin的产品简化了针对多种渠道的运用开发,包含iOS、Android、Windows Phone和Mac App。Xamarin由许多闻名的开源社区开发者创建和参加,并且也是Mono项目的主导者——C#与?NET结构的开源、跨渠道完成。
· 4.通用Windows渠道(UWP):最终一种完成一般用于开发现代物联网、移动设备、平板电脑、平板手机或Xbox运用程序。
一切的完成都有两个共同点:.Net规范,以及一个或多个运转时。.Net规范是每个.Net基类库完成的一组API。此API可保证任何.Net完成的一致性,然后答应跨完成库。这个API保证了任何.Net完成的一致性,因而答应跨完成库。不同的运转时(保管运用程序的履行环境)包含:.Net Framework的公共言语运转时(CLR); .Net Core的内核CLR;用于UWP的.Net Native和用于根据Mono的运用程序的Mono运转时。[1][2][3]黑客接单网