buuctf-pwn inndy_echo(32位fmt)题解(学习过程持续更新)

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

此处将文件命名为pwn

checksec pwn 查看一下保护机制

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

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

可以看到printf(&s)格式化字符串漏洞,存在内置system函数,所以我们可以将printf@got里存储的内容改写成system函数的地址,然后发送'/bin/sh',构成system("/bin/sh"),获得shell

返回虚拟机

./pwn

aaaa.%p.%p.%p.%p.%p.%p.%p.%p.%p.%p

可以看到0x61616161在aaaa后面的第7个参数

nano exp.py 开始写攻击脚本

保存退出

python3 exp.py

cat flag

此题完

相关推荐
不庸.2 小时前
theHarvester 入门教程:从装好到看懂输出
安全·web安全·网络安全·开源·安全性测试
Hhy_11073 小时前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio
严肃小白兔3 小时前
Cloudflare 更新 API Token 管理:从最小权限到自动化凭据安全
网络·安全·自动化
山甫aa3 小时前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web
m0_564876844 小时前
CMake学习
学习
只愿云淡风清4 小时前
正则表达式学习笔记 02:基础语法
笔记·学习·正则表达式
wangqiaowq7 小时前
Ontology 学习 二
学习
该学习了咕咕14 小时前
顶刊论文学习笔记
学习
曦樂~14 小时前
Cpp面筋
c语言·c++