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

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

checksec pwn 查看一下保护机制

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

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

可以看到buf在rbp-0x60处,nbytes在rbp-0x8处,所以我们可以利用buf将nbytes的值更改成任意值(0x100),然后read(0,&v1,nbytes)栈溢出

返回虚拟机

ROPgadget --binary pwn --only "pop|ret"

得到pop_rdi_ret=0x400793,ret_addr=0x400509

nano exp.py

第一次payload:更改第二次输入的内容为0x100字节,让其可以发送栈溢出

第一次payload2:调用puts函数,泄露read@got里存储的read函数的真实地址,进而获得system函数和字符串'/bin/sh'的地址,并在最后返回sub_4006A9函数

第二次payload:同上

第二次payload2:构造system("/bin/sh"),获得shell

保存退出

python3 exp.py

7

cat flag

此题完

相关推荐
hasty1 小时前
未登录也能读取服务器文件:GitLab CVE-2026-85706 深度解析
安全·代码复审
GG-_-Bond1 小时前
9.1kv存储持久化模拟面试
linux·c语言·数据结构·c++
ps酷教程2 小时前
数据权限DataPersmission
java·学习
无敌贵点大王2 小时前
RTThread学习记录10——C语言实现面向对象的编程
c语言·stm32·学习·链表
leizhen198408092 小时前
AI 不会注定失控,也不会自动被控制
人工智能·安全
程序员yu3 小时前
数智码力:Python作用域完全梳理,全局变量局部变量不再混乱
开发语言·python·学习
en.en..3 小时前
TCP与UDP对比
c语言
传奇开心果编程3 小时前
【ArkUI 练中学】第5课:路由导航与页面跳转
学习·华为·前端框架
hasty3 小时前
一个任意文件读取漏洞,如何撬动整个 CI/CD 信任链
安全·安全威胁分析·代码复审