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

此题完

相关推荐
Ruiery1 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
apple-mapping4 小时前
网络RTK定位学习总结
学习·网络rtk
mennekes4 小时前
临时用电线路标识:插头颜色、钟面标识配套规范
运维·网络·科技·安全·制造
楚山之石5 小时前
【Lancet Neurology 】多发性硬化认知障碍的 SDMT 筛查、灰质萎缩标志与认知康复循证路径
图像处理·人工智能·学习·mri
Zwawa6 小时前
串口为什么会丢字节:从轮询到中断和环形缓冲区
c语言·单片机·嵌入式
海海不掉头发6 小时前
CSDN博客_时序预测9模型复现对比
人工智能·学习·软件工程
是真的小外套7 小时前
网络安全实战第7期:Hydra爆破SSH实战
安全·web安全·ssh
蓝祁子yoky8 小时前
Qt学习日记 Day13:网络编程(一)-TCP基础与Socket实战
网络·qt·学习
jimmyleeee9 小时前
Agent安全之七:当智能体之间开始“互相信任”------深入理解 OWASP ASI07 不安全的智能体间通信
人工智能·安全
揽星河..9 小时前
【C语言】分支和循环
c语言·c++·算法