第三题做起来不太难,考察缓冲区溢出,使用radare2反编译了一下,看了一下参数地址和buf地址的距离,直接填充就可以了。
这里用到pwn这个python库,因为这次又涉及到不可见字符,我就网上搜了一下一般用什么工具。发现这个工具是专门用来提交pwn的库。既可以调用本地二进制,也可以远程连接。
最后获得shell之后,cat以下flag就可以了。
程序二进制是开启了缓冲区溢出的编译,我开始写溢出buf的时候,还考虑了这个校验值。但是发现好像不起作用,然后我进行动态调试的时候,radare2还不会交互使用,就切换到gdb。发现确实是走了__stack_chk_fail的逻辑,函数异常退出了。但因为程序提前先返回了shell,所以没影响获取flag。然后再没尝试这个变量值修改的问题。
上一篇: PWNABLE.KR第二题解题
下一篇: PWNABLE.KR第四题解题
0 Responses so far.