# Drupal {{#include ../../../banners/hacktricks-training.md}} ## 发现 - 检查 **meta** ```bash curl https://www.drupal.org/ | grep 'content="Drupal' ``` - **节点**: Drupal **使用节点索引其内容**。一个节点可以 **包含任何内容**,例如博客文章、投票、文章等。页面 URI 通常为 `/node/`。 ```bash curl drupal-site.com/node/1 ``` ## 枚举 ### 版本 - 检查 `/CHANGELOG.txt` ```bash curl -s http://drupal-site.local/CHANGELOG.txt | grep -m2 "" Drupal 7.57, 2018-02-21 ``` > [!NOTE] > 新安装的Drupal默认阻止访问`CHANGELOG.txt`和`README.txt`文件。 ### 用户名枚举 Drupal默认支持**三种类型的用户**: 1. **`Administrator`**:此用户对Drupal网站拥有完全控制权。 2. **`Authenticated User`**:这些用户可以登录网站并根据其权限执行添加和编辑文章等操作。 3. **`Anonymous`**:所有网站访问者被指定为匿名用户。默认情况下,这些用户仅被允许阅读帖子。 **要枚举用户,您可以:** - **获取用户数量**:只需访问`/user/1`、`/user/2`、`/user/3`...,直到返回一个错误,指示该用户不存在。 - **注册**:访问`/user/register`并尝试创建一个用户名,如果该名称已被占用,服务器将返回错误指示。 - **重置密码**:尝试重置用户的密码,如果用户不存在,错误消息中将清楚地指示。 ### 隐藏页面 只需通过查看**`/node/FUZZ`**来查找新页面,其中**`FUZZ`**是一个数字(例如从1到1000)。 ### 已安装模块信息 ```bash #From https://twitter.com/intigriti/status/1439192489093644292/photo/1 #Get info on installed modules curl https://example.com/config/sync/core.extension.yml curl https://example.com/core/core.services.yml # Download content from files exposed in the previous step curl https://example.com/config/sync/swiftmailer.transport.yml ``` ## 自动化工具 ```bash droopescan scan drupal -u http://drupal-site.local ``` ## RCE 如果您可以访问Drupal web控制台,请检查这些选项以获取RCE: {{#ref}} drupal-rce.md {{#endref}} ## 从XSS到RCE - [**Drupalwned**](https://github.com/nowak0x01/Drupalwned): Drupal利用脚本,**将XSS提升到RCE或其他关键漏洞。**有关更多信息,请查看[**这篇文章**](https://nowak0x01.github.io/papers/76bc0832a8f682a7e0ed921627f85d1d.html)。它提供对**Drupal版本7.X.X、8.X.X、9.X.X和10.X.X的支持,并允许:** - _**权限提升:**_ 在Drupal中创建一个管理员用户。 - _**(RCE) 上传模板:**_ 上传自定义的后门模板到Drupal。 ## 后期利用 ### 阅读settings.php ```bash find / -name settings.php -exec grep "drupal_hash_salt\|'database'\|'username'\|'password'\|'host'\|'port'\|'driver'\|'prefix'" {} \; 2>/dev/null ``` ### 从数据库中导出用户 ```bash mysql -u drupaluser --password='2r9u8hu23t532erew' -e 'use drupal; select * from users' ``` {{#include ../../../banners/hacktricks-training.md}}