最为全面的利用Wordpress拿Shell的方法

caocao1年前教程308

什么是WordPress

自2003年推出以来,WordPress已成为最受欢迎的内容管理系统(CMS)之一。它基于PHP编程语言和MariaDB或MySQL数据库。截至2021年,有4.55亿个网站在WordPress上运行,大约占互联网上所有网站的43%。正是因为它的流行,WordPress也成为大多数网络攻击的目标,因此WordPress也是当下各种CTF靶机中的重要类型。本文重点讨论作为渗透测试人员如何渗透测试WordPress站点,尤其是如何获得运行WordPress站点的主机的控制权,或者Shell(命令执行环境)。本文也许是目前最为全面的拿Shell的方法(哈哈)。

WordPress渗透测试步骤

一般来说,针对WordPress类型的渗透测试目标,可使用以下步骤:

第一步:目录扫描

通过各类目录扫描工具比如Gobuster、dirb、nikto、dirbuster等枚举出WordPress站点的所在目录。

第二步:获取管理员凭证

接下来的目标是获得WordPress管理后台的用户名和密码。可以先检查是否存在弱口令(比如admin:admin等)。如果没有成功,可以使用wpscan工具或Hydra工具破解WordPress的管理员用户名和密码。如果破解不成功,可以尝试探测是否存在有漏洞的插件。

$ wpscan --url <WordPress网址> -e u,p

第三步:获取Shell

在获得WordPress管理员用户名和密码后,接下来的目标是获取目标主机的控制权,即Shell。

方法一:替换Theme Editor中的404.php模板

将php反向Shell(shell.php)文件的代码拷贝替换Theme Editor中的404.php模板。如果成功更新文件,说明可以通过该方式获取目标主机的Shell。一旦更新文件成功,在攻击机(比如Kali Linux)启动nc监听(端口要与shell.php一致),然后访问靶机的URL,该URL为shell.php所在的URL。可以在页面源代码中查找到该URL的前缀,一般是在/wp-content/。

方法二:利用Metasploit框架

通过Metasploit中的exploit/unix/webapp/wpadminshell_upload模块获取目标主机的Shell。根据靶机情况设置管理员用户名和密码等信息。这个方法适用于所有版本的WordPress,因此会提供网络服务器的meterpreter会话。

方法三:插件安装

  • 将php反向Shell文件压缩成zip格式,然后将其作为插件进行安装。
  • 登录WordPress管理后台,查看是否已经安装有插件,并且插件的功能中有可以上传文件的入口,此时将php反向Shell以规定的格式(比如zip)上传至目标站点。
  • 向目标主机上传有漏洞的插件,比如Responsive Thumbnail slider version 1.0。上传成功后,利用Metasploit中的wpresponsivethumbnailsliderupload模块获得meterpreter session。

方法四:替换主题文件

在安装与靶机相同的主题文件后,将其中的404.php内容替换为shell.php内容,然后上传更新主题文件。但是本人没有找到合适的环境测试成功该方法,列在此处仅为参考。

以上就是渗透测试WordPress站点的一般步骤和获取Shell的方法。希望对您有所帮助!

相关文章

5,除了万能钥匙还有什么有效的方法破解Wifi密码

5,除了万能钥匙还有什么有效的方法破解Wifi密码

手机破解WIFI密码的方法 首先,我们可以使用"WiFi万能钥匙"这款软件来破解WIFI密码。打开该软件并开启WIFI开关,它会自动搜索附近的WIFI网络。如果有密码被共享到服务器上,它会显示出来。...

怎么破解邻居wifi密码 将你流量开启让wifi万能钥

怎么破解邻居wifi密码 将你流量开启让wifi万能钥

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 如何破解邻居的Wi-Fi...

【3】Kali破解家用WI-FI密码 - 建立伪装热点

【3】Kali破解家用WI-FI密码 - 建立伪装热点

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 【实验目的】实验需要两块...

如何在 Android 设备上运行 Linux

如何在 Android 设备上运行 Linux

在 Android 上运行 Linux 的方法 如果您想在 Android 设备上运行 Linux 桌面环境,无论是有根设备还是无根设备,以下是几种方法: 1. 使用 Debian Noroot De...