acgdir.com
首页 > 动漫/二次元 > 动漫/二次元/资讯

萌新带你开车上p站(二)(6)

2022-11-12 来源:acgdir.com
总结一下,这里用到的技术叫做GOT覆写,就本题而言,是这样子的:
我们通过控制nane的最后四个字节,将passcode1的值改为fflush的地址,而在程序中,scanf后会调用fflush,而我们已经把system(“bin/cat flag”)的地址写到fflush中,覆盖了fflush在GOT表中的内容,所以当scanf调用时,会直接执行system打印flag,绕过了后面比较passcode1,passcode2的逻辑。
0x06random

萌新带你开车上p站(二)


看描述,是和随机数有关系

萌新带你开车上p站(二)


由源码可知,当满足key与random异或得0xdeadbeef时才打印flag
而random的值由rand函数产生,key的值由我们输入
那么本题的关键就是找到random的值是多少
我们知道,rand函数产生的实际是伪随机数,所以我们可以写个程序,先由rand生成一个数,将其与0xdeadbeef相异或,得到的值就是我们输入的key
这是一种思路
或者我们也可以用gdb调试,在程序判断if条件是否成立的地方下断点,观察内存布局,也是可以得到random的值的

萌新带你开车上p站(二)


猜你喜欢