buuctf-pwn xdctf2015_pwn200题解(学习过程持续更新)

本人也是在自学过程,主要目的也是记录学习过程,有些地方做的不太好,都是按照自己理解进行讲解的(不专业),欢迎大家指出问题

此处我将文件命名为pwn

checksec pwn 查看一下保护机制

可以看到这是一个32-bit的文件,NX保护开启

将文件拖入ida,按F5将汇编代码转换成c语言代码,得到

双击vuln(),进入vuln函数

可以看到存在read栈溢出,需要填充0x6c+4的垃圾数据至return address

此题没有system函数,和/bin/sh,所以需要我们自己泄露这些地址

返回虚拟机

nano exp.py 开始写攻击脚本

payload:调用write函数,泄露write@got里存储的write函数的真实地址,进而得到system函数和/bin/sh的地址

payload2:填充0x6c+4的垃圾数据至return address,覆盖返回地址为system函数,调用system("/bin/sh"),获得shell

注释掉的LibcSearcher的方法找不到正确的libc版本,所以我们用固定偏移值来计算

保存退出

python3 exp.py

cat flag

此题完

相关推荐
知识分享小能手9 小时前
深度学习学习教程,从入门到精通,深度生成模型 —— 知识点详解与代码实现(20)
人工智能·深度学习·学习
m4Rk_10 小时前
【论文阅读】Agent 记忆机制(74):CompassMem——从相似度检索走向事件图上的记忆导航
论文阅读·人工智能·学习·开源·github
小李不想当小白10 小时前
DMA直接存储器存取(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·分享
2601_9623649711 小时前
红外活体模组,Windows 设备安全身份入口解析
windows·安全·电脑
2601_9499506312 小时前
练题簿在线练题全流程:从资料导入到模拟考试与错题复盘
学习·考研·小程序·刷题·小程序推荐
别动我齐刘海12 小时前
ROS2 Jazzy + C++ 实战路线——基础学习2
c++·人工智能·vscode·python·学习·机器学习·机器人
free-elcmacom13 小时前
C语言指针进阶——指针数组模拟二维数组,以及二级指针到底怎么理解
c语言·visual studio code
山下梅子酒22514 小时前
洛谷-入门-B2049
c语言
域智盾系统来啦14 小时前
电脑远程监控软件具备哪些核心能力?电脑远程监控软件企业落地核心知识点汇总
安全·远程工作·电脑远程监控软件
水云桐程序员14 小时前
量子力学概论,量子力学概念总结
笔记·科技·学习·量子计算