原题 360chunqiu2017_smallest 360chunqiu2017_smallest 首先是明显的栈溢出,而且是直接写到retaddr里的,因为没有libc,没有gadget可 以用,所以用write系统调用泄露栈地址 srop实际上是内核向进程发送signal信号后,程序陷入内核态,此时进程上下文被 保存到了用户态的栈空间,并在内核态恢复至用户态时将栈上的寄存器值恢复,如 果这个过程中可以伪造栈上的寄存器值,就可以控制恢复时的寄存器值,而不依赖 pop rdi一类的gadget,从而实现任意系统调用 数据发送过快会有bug,sleep就完了 学有余力可以查阅文章SROP - CTF Wiki和...

给出的回显格式是:54 + 99 = 00000000 0a ef bc 97 ef bc 91 20 08 20 ef bc 8b 20 08 20 │····│··· │· ··│· · │ 00000010 ef bc 94 ef bc 92 20 08 20 ef bc 9d 20 │····│·· ·│ ···│ │ 0000001d 71 + 42 = 字符是全角的 ef bc 97是一串,代表7 ef bc 8b是+ ef bc 9d 是= 20 08 20是空格 口算20个就可以了 难道没有ai我啥也不是🐎 要提取算式 from pwn import * from LibcSearcher import...

输入>=5 会直接跳转到下面这个函数 read可以溢出 __int64 __fastcall main(__int64 a1, char **a2, char **a3) { signed int v4; // [rsp+Ch] [rbp-24h] BYREF _BYTE buf[10]; // [rsp+12h] [rbp-1Eh] BYREF int v6; // [rsp+1Ch] [rbp-14h] int j; // [rsp+20h] [rbp-10h] int i; // [rsp+24h] [rbp-Ch] int v9; // [rsp+28h] [rbp-8h] int v10; // [rsp+2Ch]...