注意以下都是基于数据库是 MySQL 的情况,对于其他数据库来说过程大同小异,只不过需要注意一下数据库和表名的获取等步骤。
SQL 注入基础数据库的结构数据库的结构如下图所示:
数据库实例(Database Instance):所有数据库通常运行在某个数据库实例上,实例是一个正在运行的数据库管理系统(DBMS)。
数据库(Database):是有序的数据集合,每个数据库包含多个表。
表(T...
PHP 测试:https://onlinephp.io/
PHP 序列化格式基本数据类型基本数据类型的序列化格式只描述值,不包含变量名。
Null格式:N;
12$n = null;$serialized = serialize($n); // 结果: N;
布尔值(Boolean)格式:b:<value>;
示例:b:1; 表示 true,b:0; 表示 false。
12$...
环境配置切换 python 版本运行 IDA 安装目录下的 idapyswitch.exe ,选择使用的 python 解释器。
在 PyCharm 中写 IDAPython 脚本在 PyCharm 的设置→项目→Python解释器点击设置选择全部显示….点击如下位置添加自定义路径路径选择 IDA Pro 7.6\python\3 貌似 3 和 2 表示 Python3 和 Python2 ...
XML(可扩展标记语言)XML 的定义XML(eXtensible Markup Language,扩展标记语言)是一种用于描述结构化数据的标记语言,它类似于 HTML,但它的标签是自定义的。XML 的主要目的是传输和存储数据,而不是显示数据。
XML 的语法XML文档由元素、属性、文本、CDATA、注释、处理指令和实体组成。
基本结构:
12345<?xml version=&quo...
栈溢出32 位栈溢出附件下载链接
程序保护如下,没有开 GS 保护。程序是一个简单的栈溢出:
12345678910111213141516int __cdecl main_0(int argc, const char **argv, const char **envp){ char v4; // [esp+0h] [ebp-1D4h] char v5; // [esp+0h]...
环境搭建checksecwinchecksecwinchecksec 是 windows 版的 checksec ,不过有时候结果不太准确。
checksec(x64dbg)x64dbg 的插件 checksec 检查效果比较准确,并且可以连同加载的 dll 一起检测。将 release 的插件按 32 和 64 位分别放到 x32dbg 和 x64dbg 的 plugins 目录,如果找不...
tty 设备结构体tty 设备在 /dev 下的一个伪终端设备 ptmx 。
tty_struct(kmalloc-1k | GFP_KERNEL_ACCOUNT)tty_struct 定义如下 。
123456789/* tty magic number */#define TTY_MAGIC 0x5401struct tty_struct { int ...
NULL Pointer Dereference上古利用方法,仅做记录。
如果内核模块中存在可以被调用的空函数指针,那么调用该空指针函数会执行 0 地址对应的代码。如果此时在内存 0 地址处实现写入 payload 就会执行payload。
首先内核驱动代码如下,其中 my_funptr 是一个空函数指针,且在调用 write 函数时会执行到。
12345678910111213141516...
linux 内核概述Linux 内核由 Linus Torvalds 于 1991 年开发,最初的目的是为 Intel 80386 处理器编写一个类 UNIX 系统的内核。当前版本的 Linux 内核由全球社区共同开发维护,通过 Git 管理源代码。
内核概述内核(Kernel)是操作系统的核心部分,负责管理硬件资源并提供给用户程序使用。它充当硬件和应用程序之间的桥梁,是操作系统最基础和最关...
调试环境搭建debug musldebug_musl 可以源码调试。运行 setup.sh 将源码及相关动态链接库解压到根目录下 musl 文件夹下,用的时候只需要将对应版本的 libc.so 文件复制到目录下,然后利用 patchelf 运行如下命令修改可执行文件所依赖的 ld 为 libc.so 即可进行源码调试。
1patchelf --set-interpreter ./libc....