C++ Fiber 纤程 实现 Shellcode Loader
0x0 基础知识 00 原理 纤程(Fiber)是一种最轻量化的线程(lightweight threads)。它是一种用户线程(user thread),让应用程序可以独立决定自己的线程要如何运作。操作系统内核不能看见它,...
C++ 内联汇编 实现ShellCode Loader
0x0 基础知识 我们用 msfvenom 生成一个测试用的我 ShellCode,内容为弹出一个计算器, 生成格式为 C Payload size: 193 bytes Final size of c file: 838 bytes unsigned char buf[] = '\xfc\x...
WEB TOP10 之 SQL注入漏洞 NoSQL (六)
0x0 NoSQL 基础 什么是 NoSQL 数据库? NoSQL(NoSQL= Not Only SQL),意即“不仅仅是 SQL',泛指非关系型的数据库。 随着互联网 web2.0 网站的兴起,传统的关系数据库在应付 web2.0 网站,特别...
Windows PE 结构 之 节表结构解析及遍历
0x0 基础知识 00 区段名及其含义 区段名含义.text默认的代码区块, 它的内容全是指令代码,链接器把所有目标文件的text块连接成一个大的.text块,使用Borland C++编译器产生的代码存放在CODE的区...
C++ 线程池等待 实现 Shellcode Loader
0x0 基础知识 00 原理 利用创建线程池等待对象 CreateThreadpoolWait() 的回调函数来执行 ShellCode 01 文档 createEventW 函数 (synchapi.h) - Win32 apps | Microsoft Learn createThreadpool...
C++ 函数指针 实现 Shellcode Loader
0x0 基础知识 在 C++ 中,函数也是有地址的。编译之后的函数,其实是一组指令的集合,这样一组指令在程序运行时存在于内存中,其起始地址就是该函数的地址,也称做函数的入口地址。编写 C++ 程...
Windows PE 结构 之 RVA&FOA地址转换与对齐
0x0 基础知识 00 RVA & FOA 转换; 当一个 PE 文件被加载到内存中以后,我们称之为 ' 映象 '(image)。一般来说,PE文件在硬盘上和在内存里是不完全一样的,被加载到内存以后其占用的虚拟地...
C++ 基于资源节 实现 Shellcode Loader
0x0 基础知识 00 原理 将生成的 ShellCode 的 bin 文件放到 资源节 中,然后通过加载资源的方式,读取 ShellCode 并执行 01 文档 FindResourceW - Win32 apps | Microsoft Learn SizeofResource...
C++ 线程/远程线程 实现 ShellCode Loader
0x0 基础知识 00 CreateThread() 创建在调用进程的虚拟地址空间内执行的线程。 函数原型: HANDLE CreateThread( [in, optional] LPSECURITY_ATTRIBUTES lpThreadAttributes, [in] SIZE_T dwSta...
WEB TOP10 之 文件上传漏洞 基础
0x0 漏洞原理 文件上传漏洞是指在Web应用程序中存在的一种安全漏洞,黑客可以利用这个漏洞上传恶意文件到服务器上,并可能执行恶意代码或者获取敏感信息。这种漏洞的原理通常涉及以下几个方面:...
Windows PE 结构 之 导出表结构解析
0x0 基础知识 当PE文件被执行的时候,Windows加载器将文件装入内存并将导入表登记的动态链接库(一般是DLL格式)文件一并装入地址空间,再根据DLL文件中的函数导出信息对被执行文件的IAT进行修...