- 博客(11)
- 收藏
- 关注
原创 SeedLab-ReturnToLibc
Lab Overview这个实验的学习目标是给学生体验有趣的缓冲区溢出攻击的变体,这种攻击攻击能够绕过实现在大多数linux操作系统上的保护机制。一种常见的利用BufferOverflow漏洞的方法是利用一段shellcode溢出buffer,然后使漏洞程序跳转到保存在栈上的shellcode,并执行shellcode,参考BufferOverflow漏洞。为了防止这种类型的攻击,一些操作系统允...
2019-12-31 22:34:56 1020
原创 SeedLab-BufferOverflow漏洞
实验概要实验地址: https://seedsecuritylabs.org/Labs_16.04/Software/Buffer_Overflow/ 该实验室的学习目标是让学生通过将他们从课堂上学到的有关漏洞的知识付诸实践,获得有关缓冲区溢出漏洞的第一手经验。缓冲区溢出被定义为程序试图在预分配的固定长度缓冲区的...
2019-12-31 00:12:08 3889
原创 C语言内嵌汇编
最近阅读linux源码,发现很多以asm volatile开头的C语言内嵌汇编语代码的函数,于是了解了一下,c语言内嵌汇编代码格式为:__ asm __ __ volatile __”(“statements”: “output_regs”:“input_regs”:;clobbered_regs):“__ asm ”表示后面的代码为内嵌汇编,“asm”是“ asm ”的别名。“...
2019-12-29 20:35:52 2325
原创 Windows内核-杂记
进程组成部分(1)一个核心态的对象,操作系统用来保存进程的信息(2)地址空间,包含可执行文件和所有动态链接库的代码和数据,以及动态分配的内存进程终止的方式(1)主线程的入口函数返回(如main函数)(2)进程主动退出,一个线程调用ExitProcess(3)进程被动终止,另一个进程调用TerminateProcess(任务管理器-结束任务 ),进程中所有线程被终止,不通知dll。(...
2019-12-24 15:28:39 250
原创 Windows内核-线程
以下针对WindowsXP线程三种状态:运行、等待、就绪。(1)处于运行态的线程存储在KPCR中(2)处于就绪态和等待态的线程处于另外33个链表中,其中1个是等待链表,32个是就绪链表。(Win7、WIn10 64个)。这些链表使用_KTHREAD(+0x60)追踪线程,即线程在某一时刻,只能属于其中一个圈。(不管是就绪态还是等待态都挂在_KTHREAD(+0x60),即在_KTHREAD中...
2019-12-10 13:24:11 495
原创 XCTF maze WriteUp
__int64 __fastcall main(__int64 a1, char **a2, char **a3){ signed __int64 v3; // rbx signed int v4; // eax bool v5; // bp bool v6; // al const char *v7; // rdi __int64 v9; // [rsp+0h] [rb...
2019-12-10 09:58:37 357
原创 Windows内核-系统描述符表与SSDT
以下参考自水滴教程及https://blog.csdn.net/weixin_42052102/article/details/83118255SystemServiceTableSystemServiceTable,即系统服务表,在XP系统下有两个 SystemServiceTable,分别是Ntoskrl.exe(常用的系统服务)和Win32k.sys(与图形显示及用户界面相关的系统服务)...
2019-12-08 12:28:13 436
原创 Windows内核-_Trap_Frame/ETHREAD/KPCR/KiSystemService
_Trap_Frame无论3环是中断门还是systementer进入0环,3环的寄存器都会寄存在_Trap_Frame结构体中,结构体如下:ETHREAD每个线程有一个ETHREAD结构体,该结构体保存了线程的状态...
2019-12-07 22:48:48 1707
原创 Windows内核-3环进0环
Windows API主要存放在C:\WINDOWS\system32下Kennel32.dll:最核心功能模块,如管理内存、进程和线程相关的函数User32.dll:Windows用户界面相关应用程序接口,如创建窗口和发送消息等GDI32.dll:全称Graphical Device Interface(图形设备接口)包含用于画图和显示文本的函数,比如要显示一个程序窗口,就调用其中的函数来...
2019-12-07 17:40:05 1597
原创 Windows内核-TLB
TLBTranslation lookaside buffer。根据功能可以译为快表,直译可以翻译为旁路转换缓冲,也可以把它理解成页表缓冲。里面存放的是一些页表文件(虚拟地址到物理地址的转换表)。当处理器要在主内寻址时,不是直接在内存的物理地址里查找的,而是通过一组虚拟地址转换到主内存的物理地址,页表文件(PTE page table entry 页表条目存放在内存中)就是负责将虚拟内存地址翻译...
2019-12-07 13:27:54 513
原创 Windows内核-10-10-12页表机制
以下参考资料:水滴教程,针对的是80386系统。CR3寄存器每一个进程对应一个CR3寄存器,CR3寄存器中存放的是PDT(页目录表)的地址。PDT\PDEPDT页目录表,一共占4KB,每一个页目录表项PDE占4B,即一共1024个PDE项,指向一个PTT页表。(其实实际实现时,PDT是一个特殊的PTT表,即上图转变成如下的图。)PTT\PTEPTT页表,每一个PDE指向一个PTT页...
2019-12-06 21:56:41 1159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人