wustctf2020_closed
Ubuntu16.04
0x01
checksec
1 | [*] '/home/zelas/Desktop/pwn/wustctf2020_closed/wustctf2020_closed' |
IDA
vulnerable()
1 | __int64 vulnerable() |
1 | // attributes: thunk |
0x02
思路
close(1)关闭了标准输出
close(2)关闭了标准错误
我们只剩下标准输入,并且看到程序会返回shell(0是标准输入,1是标准输出,2是标准错误)
可以对stdout重定向,将文件描述符 1 重定向到文件描述符 0 :
因此这题不用写exp,直接执行 execv 1>&0 ,也就是把标准输出重定向到标准输入,因为默认打开一个终端后,0,1,2都指向同一个位置也就是当前终端,所以这条语句相当于重启了标准输出,此时就可以执行命令并且看得到输出了
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果