实战拆解PHP文件包含:Base64编码+木马生成,手把手教你挖flag
漏洞利用载体:靶场环境(支持PHP文件包含,存在 index.php?url= 参数);编码工具:YAKI(用于64位Base64编码,适配PHP的Base64解码规则);木马生成工具:哥斯拉(用于生成PHP一句话木马/内存马);辅助工具:记事本(编辑/复制木马代码)、浏览器(访问构造的漏洞链接)。掌握 data://text/plain;base64, 协议的作用:将Base64编码的PHP代码嵌入URL,让靶场服务器解析执行;理解PHP文件包含漏洞原理:服务器通过 file_get_contents() 等函数读取 url 参数内容并解析,未做过滤时可注入恶意代码。复制靶场基础地址,拼接文件包含漏洞的核心参数,得到基础模板:[靶场地址]/index.php?url=data://text/plain;base64,(后续只需补充Base64编码的木马代码即可)
1. 打开哥斯拉工具,新建木马配置,将木马类型改为PHP,生成对应的PHP木马代码;2. 将生成的木马代码保存到本地(标记为位置A),备用。1. 用记事本打开位置A的PHP木马文件,复制完整的木马代码;2. 打开YAKI工具,选择64位Base64编码模式,粘贴木马代码,生成对应的Base64编码字符串;3. 复制生成的Base64编码,粘贴到漏洞基础URL的逗号后,得到完整的利用链接:[靶场地址]/index.php?url=data://text/plain;base64,[木马的Base64编码]
1. 回到哥斯拉工具,添加PHP类型的连接配置,填写靶场地址、木马密码等信息;2. 点击连接测试,确认连接成功后,进入哥斯拉的控制端。1. 发现控制端的命令执行功能无法使用,跳过命令执行环节;2. 在哥斯拉的文件管理模块中,浏览靶场服务器的文件目录,打开第一个目标文件,从中找到 flag 内容,完成漏洞利用。本次复现围绕PHP文件包含漏洞,结合 data:// 协议、Base64解码工具YAKI、哥斯拉木马生成工具完成漏洞利用,最终获取靶场flag。