- 博客(264)
- 收藏
- 关注
原创 PCB和PEB简述
PCB全名为进程控制块,在内核空间中,也就是R0层中,每个进程都有自己的PCB。PCB 主要保存的是进程的状态、CPU 寄存器、內存管理信息和资源管埋信息等与进程执行直接相关的内容。PCB 的数据主要用于服务内核进程调度、上下文切换、资源管理以及进程的创建和終止。
2025-02-17 16:40:20
411
原创 DPC 和 APC
主要针对内核层的ISR中的代码,DPC 常用于设备驱动程序,在硬件中断处理例程中,通过 DPC 延迟处理那些不需要立即完成的工作,如网络数据包处理。USB 数据传输等。工作流程是将普通中断对应的ISR中断服务例程中可以不用立刻执行的代码打包起来放在一个队列中,等到其他更重要的中断执行完成后,当cpu的IRQL袋别降低到DPC/dispatch以以及以下的时候,就会执行DPC队列中的代码。DPC 的执行优先级比ISR 低,但比普通线程高。
2025-02-17 16:17:00
244
原创 句柄和指针如何理解
句柄是一个对象的抽象,它代表那个对象本身,但是句柄并不是一个指针也不是内存地址。只有操作系统才能将句柄识别成对象,程序员无法直接更改句柄所指的对象的那块内存,因为程序员无法知道句柄所指的对象的内存的具体地址,而指针就直接是对象的具体地址。因此程序员对句柄的所有操作都是有边界的,因为无法随意修改对象的内存。只能通过操作系统提供的安全的函数在可控的范围内操作对象。
2025-02-17 16:14:29
155
原创 虚拟内存转化为物理内存的过程
通过这个过程,虚拟地址Ox00403366 被转换为物理地址 Ox01F00366。这个过程涉及虚拟地址的分解、页目录和页表的查找、权限检查(如果有)和最终的物理内存访问。
2025-02-17 16:12:43
356
原创 页面错误处理与页面文件偏移量的使用
CR3寄存器:指向当前进程的页目录基址,例如0x0012AB00。页内偏移(0ffset):0xBCD。虚拟地址:0x1234ABCD。页大小:4KB(即12位偏移)页目录索引(PDI):72。页表索引(PTI):42。
2025-02-17 16:10:33
170
原创 用户层多线程和内核层多线程的区别
用户层多线程,如果有一个线程进入内核态执行指令且阻塞,cpu就会切换到另一个进程执行指令,因为用户层多线程有且只能有一个线程进入内核态执行操作,所以如果这唯一的一个线程在内核层阻塞掉,就会切换到另一个程序执行了。当一个用户层线程进行系统调用时,整个进程会被切换到内核态。如果系统调用导致阻塞(比如I/O操作),那么整个进程都会被阻塞,直到系统调用完成。这是因为内核并不知道进程内部的线程划分,它只将整个进程作为一个执行单元来处理。
2025-02-17 16:07:18
121
原创 createprocess背后发生了什么
区域对象在关联一个硬盘上具体的文件的时候代表的就是虚拟内存即将要映射的具体文件,调用mapviewoffile函数后操作系统才会真正将文件和虚拟内存的建立映射关系。建立了映射关系后可以理解成内核中出现了一张映射表,代表了从磁盘上某个文件到虚拟内存的映射关系,如果操作系统要加载文件到内存,则会按照这张表上的信息进行加载。但此时并没有发生任何实际的将文件载入内存的行为,只是产生了映射行为,生成了映射表。当不关联磁盘上具体的文件时,区域对象就可以代表一段可共享的虚拟内存。
2025-02-17 16:06:46
264
原创 windows调试器运行原理
Windows 调试器的运行原理是通过附加到目标进程,拦截调试事件,并根据用户指令对目标进程进行控制。调试器与目标进程之间的通信是通过操作系统提供的调试接口实现的。调试器通过解析调试信息,可以帮助开发者更好地理解程序的运行状态,从而定位并修复程序中的错误。
2025-02-17 16:06:03
320
原创 unicode 和 utf-8 之间的关系
unicode 类似于一个字典,里面存储这世界上几乎所有的字符和对应的码点,码点可以理解为序号。utf-8 是一个编码方案,本质是对 unicode 的码点进行编码,可以理解成 utf-8 的编码结果可以映射到 unicode 中的一个码点,这个码点可以对应到一个字符,当然除了映射外,编码结果中还有一些其他数据,目的是为了保障编解码过程中的稳定性、可靠性。
2025-02-17 16:05:32
167
原创 etw机制简述
etw全名是event trace for windows,也就是windows事件追踪。它的任务就是获取操作系统行为并进行处理。
2025-02-17 16:03:05
162
原创 为什么白加黑比直接使用黑 exe 更容易过免杀?
https://xz.aliyun.com/t/14075?time__1311=GqAxuDRD0D9D2iDlE%2Bt0%3DKpwhYUtqita4D
2025-02-17 16:01:04
229
原创 ai时代我们面临的机遇和挑战是什么
获得一个无成本的可以干重复工作,日夜无休,拥有超高记忆力和理解能力的员工。我们只需要负责发挥自己的创造力,制定计划分解任务并告诉AI让AI明白我们到底想做什么,AI会以极快的速度完成我们的任务,让我们的想法落地。在这个时代,拼的就是创意,逻辑能力,沟通能力,而不是拼谁“能吃苦”,因为再能吃苦,也不可能有24小时无休的AI能吃苦。
2025-02-16 19:22:40
160
原创 EDR和杀软的区别
传统杀软主要是识别已知的漏洞,然后可以识别一些简单的行为,例如监控一下文件的修改,注册表的修改等,对于未知的攻击和深度apt攻击很难拦截。它使用的技术主要侧重于特征识别,功能上更偏向于识别已经出现过,有特征的攻击。
2025-02-14 16:23:43
186
原创 cookie、session、jwt、Oauth2.0、sso 分别有什么用
cookie、session、jwt都是 web 应用中的认证方式,最早只有 cookie,后面觉得所有数据存储在客户端不安全,就出现了 cookie-session,再后面有了 jwt。
2025-02-14 16:22:57
611
原创 early bird inject
本质是利用windows系统的apc机制,以及涉及到windows进程启动的流程.因为线程初始化阶段LdrInitializeThunk函数会调用函数,这个函数执行后,所有apc队列中的例程都会执行.因此我们在主线程初始化之前向主线程的apc队列中加入恶意代码即可实现代码执行.具体就是创建一个挂起状态的进程,然后向其主线程的apc队列中添加新的数据,然后恢复目标进程让其执行我们添加的数据即可.apc队列中的例程会在目标进程入口点代码执行之前执行,不过加载IAT表中的dll后,apc队列才会开始执行.
2025-02-14 16:19:25
211
原创 软件调试基础知识
RAX:累加器寄存器,用于算术运算和返回值。RBX:基址寄存器,通常用于存储数据和基址指针。RCX:计数器寄存器,常用于循环计数和字符串操作。RDX:数据寄存器,用于V/O操作和乘除法运算。RSl:源索引寄存器,常用于字符串操作的源指针。RDI:目的索引寄存器,常用于字符串操作的目的指针。RBP:基址指针寄存器,常用于栈帧指针。RSP:栈指针寄存器,指向当前栈顶。R8 -R15:新增的8个通用寄存器,扩展了寄存器的数量和使用灵活性。RIP 寄存器存储了下—条指令的地址。
2025-02-14 16:17:35
584
原创 任意文件读取漏洞利用思路
底层逻辑就是读取敏感配置文件信息。如果能读到 ftp 配置文件或者 ssh 的私钥文件之类的高危文件,可能可以直接拿到 shell。
2025-02-14 16:11:51
235
原创 哪些岗位会被ai取代
有人性会犯错的东西是ai不擅长做的,例如打台球,ai可以次次一杆到底,但是又有什么意思呢?而我们观看那些运动员一次次的投篮,可能进也可能不进,我们需要看的是过程,人类努力变得更好的过程,这中间可能会出错,会退步,而在某些领域中,完美带来的就是无聊。情感表达,ai没有情感,太过于有逻辑,有时候人类是不讲逻辑的,人类就是复杂的,会犯错的,是很难猜测的,这点上ai目前无法实现,如果实现了,ai会犯错,会不讲逻辑,那么ai就是人了。
2025-02-14 16:09:44
374
原创 对 AI 人工智能助手的理解
AI 训练需要大量的资金成本,还需要大量的数据还有专业的技术人员,而且前两点的要求才是最难满足的。大多数公司都无法满足这个要求,这将导致最终的模型不好用,因此用户也不会用,这种公司最终就会倒闭,只有大公司才有能力训练出优秀的模型。二来即使有公司想自己或者委托其他公司来帮助自己做 ai,普通公司的训练资源例如显卡那些是很有限的,很难实现大规模的训练。在电脑眼里只有二进制数字,他可以找到这些数字的规律,然后提供概率上更合适的答复,AI 会依据算法和自己知道的数据来计算得到概率上最正确的回复。
2025-02-14 16:07:56
691
原创 linux后门记录
文章目录tsh正向反向openssh后门利用openssh5.9p适用于任何版本的opensshapache rootme后门tsh正向vim tsh.h#删除两个call_back字段设置密码make linux执行./tshd在控制端执行./tsh ip反向git clone https://github.com/orangetw/tsh.gitcd tshvim tsh.h #控制端make linux./tsh cb#被控端umask 077; HOME=/var
2022-05-12 10:13:33
1441
原创 centos搭建dns服务器
过程1. 安装bindyum install -y bind2. 修改配置文件1. /etc/name.conf将其中所有的localhost改为any2. /etc/name.rfc1912.zoneszone "test.com" IN { type master; file "test.com.zone"; allow-update { none; };};zone "171.168.192.in-addr.arpa" IN {
2022-04-28 19:04:20
2250
原创 网络基础知识回顾
文章目录交换机路由器防火墙vlan协议PPTPL2TPGREhttp头http请求头http响应头常见http响应码交换机主要作用是将数据包分配给指定mac地址的机器。在数据链路层根据mac地址分配数据包,交换机可以组成局域网。路由器主要作用就是将数据包根据路由规则走最有效率的路由路径送往不同的目的地,中间会跨网段。在网络层根据ip地址传递数据包,可以让数据包在不同的网段间流通,通过不同的路由策略到达最终的目标。可以通过在路由器上配置访问列表,达到防火墙的部分效果。具体效果为,限制具体时间段可
2022-04-27 09:32:02
4467
原创 投资学习笔记
行业相关电子行业:长期看好,制造业才是未来,不过现在整体估值偏高,几乎接近上个最高点。白酒行业:估值非常高,但是业绩也非常好,可以慢慢定投。新能源行业:发展不错,快接近上一个高点,但是有国家政策在扶持,可以持有一部分赌一把。半导体行业:广发高端制造里面含有一部分,暂时不想入手,风险太大,以后看政策再说。消费行业:非周期性行业,股价回调约百分之二十,可以买一部分。医疗行业:大盘向上它向下,已经清仓,等主力进入的时候我们可以进入。化工行业:利润不错,上流行业,混合基金里面含有这个板块。军工:周期
2022-04-01 17:16:21
51345
6
原创 springmvc基础知识点学习
文章目录1. 常见注解1. @RequestMapping2. @ResponseBody3. @RequestBody4. @RequestParam5. @RestController6. @Controller7. @SessionAttributes2. Model类1. ModelAndView类2. Map类3. springmvc工作流1. 常见注解有点类似于提前编写好的一些函数,使用注解就是使用这些函数来实现自己的一些目的.1. @RequestMapping它是用来做映射的.@R
2022-03-31 17:53:01
393
原创 数据安全建设学习
文章目录1. 数据安全建设需要解决的问题1.1 敏感数据识别1.2 数据审计1.3 数据脱敏1.4 数据泄露检测与防护(DLP系统)1.5 数据恢复功能1.6 数据加解密功能2. 等保中对数据安全的要求与解决方案2.1 数据完整性2.2 数据保密性2.3 数据备份恢复1. 数据安全建设需要解决的问题1.1 敏感数据识别从海量数据中发现和锁定保护对象,通过内置算法规则和自定义敏感数据识别规则,对其存储的数据库类型数据以及非数据库类型文件进行整体扫描、分类、分级,并根据结果做进一步的安全防护,如细粒度访问
2022-03-31 09:55:51
4087
原创 java代码审计-java基础-3
1. 通过注入读取spring datasource配置信息<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ page import="org.springframework.context.ApplicationContext" %><%@ page import="org.springframework.web.context.support.WebApplicationConte
2022-03-18 19:49:26
5381
原创 java代码审计-java基础-2
文章目录1. 文件读取1. 文件读取常用的有java.io和java.nio,java.nio的实现是sun.nio.如果rasp监控了java.io里面的读文件的类,我们就可以使用java.nio来绕过监控并实现相同的功能.
2022-03-15 20:03:39
1019
原创 gMSA相关知识学习
1. 什么是gMSA?gMSA就是windows2012后面新增加的一个安全机制,是一个服务账户的密码,每台机器上都有,可以通过kdc去获取也可以在目标机器上直接读取,特点是30天更换一次。2. 读取gMSA需要的条件如果攻击者拥有访问指定账户msDS-ManagedPassword属性的权限,则攻击者可以读取目标的gMSA 密码,也就是目标服务密码。域管与机器账户自己还有那台机器上的管理员账户有这个权限。攻击者如果拥有KDS根密钥,就可以读取任意用户的gMSA密码,这个kds 根密钥有点
2022-03-14 21:57:58
1022
原创 spring、springboot、spring cloud、微服务是什么?
1. 什么是spring?Spring是一个支持快速开发Java EE应用程序的框架。2. 什么是spring boot?Spring Boot是一个基于Spring的套件,它帮我们预组装了Spring的一系列组件,以便以尽可能少的代码和配置来开发基于Spring的Java应用程序。本质上还是使用的spring框架,只是通过spring boot来使用的话,学习成本低很多,少了很多配置上的困难.3. 什么是spring cloud?一套基于spring boot的专门用于微服务的开发框架,sp
2022-03-12 09:12:37
532
原创 网络安全等保/安全合规总结
文章目录1. 什么是合规?2. 什么是等保2.0?3. 做了等保有什么好处?4. 什么时候需要复测?等保复测需要重新定级吗?5. 等保具体流程是什么?6. 等保3级需要测试哪些东西和具体的解决方案?1. 身份鉴别2. 访问控制3. 安全审计4. 入侵防范5. 可信验证6. 数据完整性7. 数据保密性8. 数据备份恢复7. 安全能力建设的方向1. 什么是合规?符合网络安全法律法规,在国内可以理解成符合等保2.0要求.2. 什么是等保2.0?全名是网络安全等级保护2.0,是一套标准.监管机构会根据这套
2022-03-09 11:04:00
8836
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人