场景一
doughnuts简单的使用。
最后更新于
这有帮助吗?
- 以github为例:
- 该场景进行的一切操作均已授权,任何使用本项目进行的一切未授权攻击行为与本人无关。
该场景环境为 apache + mysql + php5。
该场景 static/images/upload/ 目录下已部署一句话马。
# 使用doughnuts连入该场景事先部署好的一句话马。
# 输出 disable_functions 。
# 发现将系统命令函数ban了,尝试进行绕过。
# 未能成功,那么先简单的进行端口扫描。
先用 socket 扫描0~1000端口:
再用 curl 扫描1001~10000端口:
# 可以得知,22、80、3306端口是开着的,其中 3306 显然是 mysql 的端口,那么下一步是扫描配置文件。
# 扫描得到配置文件路径为 /var/www/html/sql/config/config.php ,尝试读取该文件。
# 得到以下信息:
Host:127.0.0.1
Port:3306
User:root
Pass:f6d6eefa48772d2156a70f01b95b30ba
# 尝试使用以上信息初始化 mysql 。
# 尝试获得 sql 的shell。
# 现在已经成功取得了 sql 的shell,看一下 secure_file_priv 的值。
# 虽然说 secure_file_priv 为空,但由于mysql版本为 5.6.16 ,因而在 mysql 用户有可写权限的地方都是可以通过 outfile 写入文件的。
# 下一步是尝试使用 udf 执行命令。
显示 plugin 目录:
尝试往里边写入文件:
验证文件存在:
使用 udf 的payload:
尝试执行命令:
尝试寻找可提权文件:
进行权限提升:
# 最后成功拿到了root权限。