IntroToStackOverflow

https://mrmoddom.github.io/ctf/walkthrough-Stack-Overflows-for-Beginners-1/#level-5-final

Level2
以提前安装了peda。Pwntools
查看文件权限

发现有可执行文件levelTwo,但是没有源码
Gdb调试一下

查看main函数,发现调用了hello和getuid函数,getuid是为了给用户一定权限加上的

查看下hello函数

发现调用了strcpy函数,这应该可以造成溢出,
再查看下还有那些函数
有一个spawn函数,查看下spawn函数的汇编指令

调用了setuid和execve,那么可以溢出到这,

构造参数,查看偏移量
发现段错误在0x4b4b4b4b

发现偏移量是36
让返回地址执行指向spawn的开始就可以了

Level3
由于没有源码,直接扔进gdb查看main的汇编代码

调用了overflow,查看该函数的汇编代码
有个strcpy函数,这个函数有漏洞,在strcpy函数处设置断点

run输入参数,ni向下走一步,查看我们输入的东西,

在main函数可以找到overrflow的返回地址为0x56556244
我们先构造了260个参数,查看地址发现偏移为268
接下开找jmp esp的地址:
Vmmap 用来分析应用程序使用虚拟和物理内存的情况

然后用asmsearch查找jmpesp的地址

然后构造shellcode即可(pwntools的shellcraft)

Level3.4都一样只是偏移量改变了,就不演示了

Level5
这关写好exp以后的到的是level4的权限

Pwn的pwntools有一个shellcaft.i386.linux.setreuid函数可以提权

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值