其他分享
首页 > 其他分享> > 菜鸡眼里的PWN-攻防世界level0

菜鸡眼里的PWN-攻防世界level0

作者:互联网

常规check一下,64位程序,没啥
Shift+F12,果然,找到/bin/sh

函数列表里面有一个vulnerable函数,哈哈,还是对新手很友好的,直接告诉你这个函数。有问题,进去看看

可以看到先是定义了一个buf变量,然后输入该变量后面200长度内容。buf的长度为0x80。
很明显read函数存在栈溢出。那么很明显就是read读取长度长了,可以覆盖到别的内容。只要先覆盖掉buf的空间,就可以让read函数读取我们想跳转的地址。
下一步就是寻找覆盖返回什么内容了,多看看可以发现一个callsystem函数。

这个函数调用返回了system函数(它和“/bin/sh”连在一起可以给我提供类似cmd的功能),那么我们把vulnerable_dunction返回地址转到他身上不就ok了,这样我们就可以执行system函数了。
下一步就是寻找vulnerable_dunction函数的返回值了,双击vulnerable_dunction里buf变量,就可以打开vulnerable_dunction的栈


这里显示buf变量80字节,然后是s8个字节,然后r8个字节。这里的r代表就是返回地址。想修改r那就要把前面的字节先填入好,因此要填入0x80(buf的长度)+0x8(s的长度)个字节,之后跟上callsysytem的地址。

注意,payload的书写是有顺序的,他会按照你的顺序依次写入,切不可颠倒顺序,很可能导致精心构造的返回地址被当作垃圾数据写入填充。

标签:函数,dunction,level0,地址,菜鸡,PWN,buf,vulnerable,字节
来源: https://www.cnblogs.com/sakura-zz/p/15977617.html