C++ 线程上下文 实现 Shellcode Loader
0x0 基础知识 00 线程上下文 CONTEXT 每个线程内核对象都维护着一个 CONTEXT结构,里面保存了线程运行的状态,使得CPU可以记得上次运行该线程运行到哪里了,该从哪里开始运行,该线程内部数据如...
WEB TOP10 之 SQL注入漏洞 基础 (一)
0x0 漏洞原理 SQL注入是一种利用应用程序对用户输入数据的处理不当,通过向应用程序提交恶意构造的SQL代码,从而实现对数据库的非法访问和操作的攻击方式。以下是SQL注入攻击的原理: 用户输入...
Windows PE结构 之 开篇下
0x0 PE文件总体结构 PE (Portable Execute) 文件是Windows下可执行文件的总称,常见的有 DLL,EXE,OCX,SYS,COM 等。它是微软在 UNIX 平台的 COFF(通用对象文件格式)基础上制作而成。最初设计...
WEB TOP10 之 文件上传漏洞 利用
0x0 绕过前端检测 如何进行前端 JS 检测 在客户端使用 JS 脚本判断上传的文件名是否在白名单之内,如果不符合则拒绝上传 示例代码: function validateFile(fileInput) { const file = fileInpu...
C++ TLS 实现 Shellcode Loader
0x0 基础知识 00 TLS 是什么? 线程局部存储(Thread Local Storage,TLS)是一种将数据与特定执行线程关联的机制。当在一个线程内部的各个函数调用之间共享数据,但不让其他线程访问时,可以使...
C++ 轻量级命令行解析库 cmdline
0x0 前言 平时用 C++ 写一些命令行工具,须要解析命令行的输入參数,这是一项繁琐而且 easy 出错的工作,我们不应该将主要精力放在这上面。 考虑使用开源的库。以下的 cmdline 就是当中很好用的...
WEB TOP10 之 SQL注入漏洞 MySQL (二)
0x0 MySQL 基础 00 MySQL 自带库表 在 MySQL5.0 以上的版本中加入了一个 information_schema 这个自带库,这个库中包含了该数据库的所有数据库名、表名、列表,可以通过SQL注入来拿到用户的账号...
Windows PE结构 之 MS-DOS 头结构解析
0x0 基础知识 DO 头分为两部分:DOS 'MZ' HEADER 和 DOS stub DOS头的作用是 兼容 MS-DOS 操作系统中的可执行文件,对于 32位PE文件来说,DOS 所起的作用就是显示一行文字,提示用户:我需要在3...
C++ CallBack 回调 实现 Shellcode Loader
0x0 基础知识 00 原理 使用 EnumFontsW 函数的回调机制来执行 shellcode。当 EnumFontsW 函数遍历到一个字体时,它将调用 shellcode 作为回调函数来处理字体信息。由于回调函数直接指向 shellco...
Windows PE结构 之 开篇上
0x0 可执行文件 00 什么是可执行文件 01 可执行文件格式 系统文件结构翻译Windows 平台PE (Portable Executable) 文件结构翻译为:可移植 可执行Linux 平台ELF (Executable and Linking Format)...