recvuntil类的使用
接收远端传回的数据
1 | interactive() : 在取得shell之后使用,直接进行交互,相当于回到shell的模式。 |
详细讲解
p64
当要接受%p的数据时 (以buu——actf_2019_babystack部分为例)
1 | signed __int64 __fastcall main(__int64 a1, char **a2, char **a3) |
可以写为
1 | s_addr=int(p.recvuntil('\n',drop=True),16) |
还可以
1 | r.recvuntil('0x') |
像接收的是ROP的puts输出的puts_plt(write一样)
1.
1 | r.recv() |
2.
1 | puts_addr=u64(r.recvuntil('\n',drop=True).ljust(8,'\x00')) |
p32
一般为
1 | write_addr=u32(r.recv(4)) |
不适应所有,有待完善
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 pwnpwn小菜鸡!