ciscn_2019_c_1
Ubuntu 18
Checksec发现开启nx保护
审计代码
Get函数存在溢出点offest=0x50+8
寻找程序是否存在system函数和/bin/sh字段来减少我们的工作量
结果都没有,但我们看到了puts函数我们可以通过ret2libc来泄露libc基址再通过查询got表确定libc中system函数和bin_sh字段。
这里有个要注意的点是Ubuntu18,puts函数前要pop_rdi_rdi
我们通过Ropgadget找到pop_rdi_rdi地址:0x400c83
Exp:
Libc基址:
于是我们继续构造exp:
注意点:ret(0x400b69)来保证栈平衡
成功得到flag