XCTF-pwn-cgpwn2 - Writeup

虽然现在做的pwn题虽然很简单,但是已经慢慢的开始对解pwn题的过程有一些基础的思路了。

首先惯例流程走一遍:

XCTF-pwn-cgpwn2 - Writeup_第1张图片
丢到ida 瞅一眼
XCTF-pwn-cgpwn2 - Writeup_第2张图片
有看到system但是没有看到/bin/sh
查看hello的伪代码发现一些有趣的东西:
XCTF-pwn-cgpwn2 - Writeup_第3张图片
在这儿看到了gets()函数,这说明可能在这儿存在溢出漏洞。
同时点开上面的name,发现name固定的全局变量bss段
XCTF-pwn-cgpwn2 - Writeup_第4张图片
因而我们可以将/bin/sh构造进这个地址当中。
下一步来寻找能够发生溢出的偏移量:
这里用到了一个很方便的工具pattern,它常用于测试程序精准溢出时的四个字符从而确定精准溢出的偏移量。
在这里我们用gdb来辅助我们进行调试:
XCTF-pwn-cgpwn2 - Writeup_第5张图片
这样我们就能测试出精准发生溢出的值:42

到此为止就可以构造exp了
XCTF-pwn-cgpwn2 - Writeup_第6张图片

你可能感兴趣的:(CTF-Writeup)