C++ Cryptopp 密码学库 使用全解
0x0 Cryptopp 介绍 Crypto++ 库是一个免费的加密方案 C++ 类库。该库包含以下算法: Crypto++ Library 8.9 | Free C++ Class Library of Cryptographic Schemes (cryptopp.com) 0x1 Cryptopp 下...
Go syscall 实现 ShellCode Loader
0x0 基础知识 我们用 msfvenom 生成一个测试用的我 ShellCode,内容为弹出一个计算器, 生成格式为 hex msfvenom -p windows/x64/exec cmd=calc.exe -f hex Payload size: 276 bytes Final size...
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...