buuctf-pwn PWN4(双引号的转义缺陷)题解(学习过程持续更新)

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

此处我将文件命名为pwn4

checksec pwn4 查看一下保护机制

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

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

双击sub_4008C7(),进入sub_4008C7函数

可以看到这是一个菜单,当我们选择v3=2会进入echo()函数,我们做题只需要用到这个选项

双击echo(),进入echo()函数

echo \"%s\" -> echo "%s"

​​​​【\" → 转换成字符 "(在 C 里,双引号 " 是用来标记字符串开头结尾的,你不能直接写 " 放在字符串里面。 想在字符串内部输出一个双引号字符,必须转义:\")】

如果没有双引号我们只需要输入;/bin/sh(;是命令分隔符)

但是由于双引号的存在,";"会失去它的意义,所以我们先写一个 " 闭合前面的双引号,逃出引号

返回虚拟机

nano exp.py

先发送我们的选择'2',然后发送'";/bin/sh',构造system("/bin/sh"),获得shell

保存退出

python3 exp.py

cat flag

此题完

相关推荐
§ꦿCFོ༉30 分钟前
嵌入式八股—C语言入门学习(一)
c语言·编程语言·嵌入式八股文
m0_715674431 小时前
政务泛监测体系能力排行:AI 重塑监测边界,治理的颗粒度革命
大数据·网络·人工智能·安全·网络安全·政务
山东科恩光电1 小时前
安全触边在智能制造产线自动化设备防夹伤防护中的选型与应用实践
安全
沐晓时光2 小时前
C语言入门,字符串和字符串函数知识讲解
c语言·开发语言
躺柒3 小时前
读数据安全架构设计与实践20安全政策文件体系(上)
大数据·人工智能·安全·数据安全·安全架构·安全体系
文谦南宁AI普工3 小时前
CVSS 10.0 沙箱逃逸 + 假扩展后门:给 Agent 开发者的供应链与沙箱安全复盘(附可跑的配置审计器)
安全·agent·ai编程
La Pulga3 小时前
【FreeRTOS源码学习笔记】空闲任务与阻塞延时
笔记·mcu·学习·嵌入式·freertos·实时操作系统
蒸蒸yyyyzwd3 小时前
秋招学习笔记 day106
笔记·学习
小李不想当小白5 小时前
WDG看门狗(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
时文鲜读8 小时前
算力基建提速,数据中心安全建设与工业可靠性如何同步升级?
大数据·人工智能·安全