ciscn_2019_s_9
Shellcode 栈溢出
首先checksec一下,看一下大概内容:

IDA打开之后,发现有一个后门函数hint,逻辑如下:

使用此函数的时候,执行esp里面的内容(使用了jmp),我们不需要这些上面什么乱七八糟的东西,我们只需要.text里面的0x08048554的jmp esp就行了。先记下来这是我们可以利用的漏洞。

然后这里是程序唯一一个输入口,也就是说大概率这里有漏洞: 他首先可以让我输入32h的内容,不过通过伪C代码(其实汇编也能看到),这个字符串的长度只有24。也就是说可以构造栈溢出,这个就很简单了。那么我现在构造含有shellcode这样的一个payload:

所以说,大概代码如下:
1 | from pwn import* |
如果直接用shellcraft.sh()的话,生成出来的shellcode就太大了,会超过程序给我们的栈可用长度(38字节)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Kanyo’s Blogs!










