ret2syscall
tip:文章参考了多方资料,仅供自己学习 前置知识一. 操作系统知识操作系统将CPU分为: 用户态:运行普通程序,权限受限内核态:运行操作系统核心代码,有最高权限 其中: 用户态程序可以通过系统调用(syscall)向操作系统请求内核服务接口。(常见的 read 系统调用–用于从文件中读取数据, write 系统调用–用于向文件或标准输出写入数据。) 系统调用的流程:1.用户程序触发系统调用(系统调用门实现用户态切换) 32位:int...
House of Force
House of Force原理Glibc的很多版本中(2.23和2.27),并没有对Top Chunk的Size字段进行完整性检查. 利用1.先通过溢出到top chunk的size字段,伪造top chunk的大小。2.然后malloc申请堆块并写入数据,实现任意地址任意写 详述 tip:1.详述示例参考hacking everyday2.用抽象的思维看此示例,不用过度纠结比如malloc对齐等细节,着重看如何实现House of Heap 分析程序1.程序运行前输出了puts地址和heap开始的地址2.给出菜单3.选择malloc,申请一个0x18大小的堆块(实际上分配了0x20大小)在pwndbg里,用vis命令查看现在的堆可以看到由于溢出了7个字节的b和1个字节的\x0a,可以覆盖top chunk的size4.选择第二个选项,会输出变量target的值x/gx &target指令(或者dp...
House of Force
House of Force原理Glibc的很多版本中(2.23和2.27),并没有对Top Chunk的Size字段进行完整性检查. 利用1.先通过溢出到top chunk的size字段,伪造top chunk的大小。2.然后malloc申请堆块并写入数据,实现任意地址任意写 详述 tip:1.详述示例参考hacking everyday2.用抽象的思维看此示例,不用过度纠结细节,着重看如何实现House of Heap 分析程序1.程序运行前输出了puts地址和heap开始的地址2.给出菜单3.选择malloc,申请一个0x18大小的堆块(实际上分配了0x20大小)在pwndbg里,用vis命令查看现在的堆可以看到由于溢出了7个字节的b和1个字节的\x0a,可以覆盖top chunk的size4.选择第二个选项,会输出变量target的值x/gx &target指令(或者dp...
无标题
工具下载我的工具压缩包:limur0-tools.7z 通过百度网盘分享,文件较大请耐心下载。 📥 点击这里下载 limur0-tools.7z 提取码:n2v6 – 来自百度网盘超级会员v7的分享
syscall常用调用号
Syscall x86 (32-bit) x86_64...
ISCC-PWN-AK-WP及其详解
那么ISCC(PYCC)的校赛也是结束了 比较简单的三道题 也是全部都AK了 那么废话不多说直接进入WP 签checksec and 运行程序可以看到就开了一个NX 程序开始就让你输入自己的名字 初步判断是写bss或者是简单的要死的栈溢出 没啥别的信息了 IDA分析123456789101112131415int __fastcall main(int argc, const char **argv, const char **envp){ write(1, "Beep beep\n", 0xBuLL); write(1, ".......\n", 8uLL); write(1, "What's your name?\n", 0x14uLL); write(1, "My name is\n", 0xBuLL); name(); return 0;}ssize_t name(){ _BYTE buf[96]; // [rsp+0h]...

