南京大学计算机基础(四)踩坑笔记

第六周 缓冲区溢出章节

bang问题:

rumble问题:

仔细分析汇编和栈的调用,这道题挺难的!【搞了我3个小时,真的别只用gdb,用ida静态结合gdb动态才是正解。】

  • 用ida标一标,其中的write_here是为了随机地址防止你直接push的。write_here存储的字符串是你大写的cookie值,比如我-u 1234的cookie是0x6eecf91d,那么这里就是"6EECF91D"。
  • 然后注意的是memcmp比较的是地址,所以你getbuf中应该push一个地址。
  • 缓冲区的输入应该长成这样,注意到我的"6EECF91D"的十六进制是0x43454536 0x44313946【注意要颠倒过来】。
  • 然后push %esp表示当前地址。
  • 注意到栈帧中第一个参数是$ebp+8,所以你要压入一个"返回地址",我这里压的是0x11111111占位。
相关推荐
Kyle012314 小时前
计算机体系结构中的中断处理机制:硬件响应与软件识别的协同架构
架构·操作系统·计组
kali-Myon7 天前
快速解决 Docker 环境中无法打开 gdb 调试窗口以及 tmux 中无法滚动页面内容和无法选中复制的问题
运维·安全·docker·容器·gdb·pwn·tmux
logiciel16 天前
Ada语言嵌套子程序之间参数传递的逆向分析
ida·逆向分析
赖small强17 天前
【Linux C/C++开发】 GCC -g 调试参数深度解析与最佳实践
linux·c语言·c++·gdb·-g
ベadvance courageouslyミ18 天前
GDB相关操作
gdb
Kyle012318 天前
共享代码浮动与编制浮动程序的含义与机制
计组
Kyle012321 天前
Cache缺失、缺页和TLB缺失的处理机制解析
操作系统·408·计组
我在人间贩卖青春25 天前
GDB调试方法及命令
gdb·调试·gdb调试
代码AC不AC1 个月前
【Linux】调试器 gdb / cgdb
linux·gdb·调试器·cgdb
介一安全2 个月前
【Frida Android】基础篇15(完):Frida-Trace 基础应用——JNI 函数 Hook
android·网络安全·ida·逆向·frida