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

此题完

相关推荐
敬往事一杯酒哈4 小时前
海康 AGV 导航读码器学习
学习
沐晓时光4 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
qq_284274056 小时前
机械原理笔记:平面机构自由度计算(复合铰链、局部自由度、虚约束)与四杆机构入门(含考点)
笔记·学习·平面·自动化·制造
SuperByteMaster6 小时前
wfi进入之前没有清除basepri, 导致中断优先级不够,wfi 退不出来
c语言
hz567896 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
qq_284274057 小时前
数控铣床与加工中心笔记:铣刀与刀柄系统、G54试切对刀、镜像加工指令、孔加工工艺(钻扩铰镗)与固定循环G73/G83/G81/G76/G87/G84
笔记·学习·自动化·制造
Navigator_Z7 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
Titan20248 小时前
MySQL访问个人学习笔记
笔记·学习·mysql
浮链序8 小时前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm
小雪崩9 小时前
嵌入式学习 day64:字符设备驱动
学习