龙空技术网

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

jasonhuawen 82

前言:

目前咱们对“phpshell”大约比较关怀,兄弟们都想要学习一些“phpshell”的相关资讯。那么小编在网摘上收集了一些有关“phpshell””的相关文章,希望咱们能喜欢,兄弟们一起来了解一下吧!

什么是Wordpress

自 2003 自推出以来,WordPress 已成为最受欢迎的内容管理系统 (CMS) 之一。 它基于 PHP 编程语言和 MariaDB 或 MySQL 数据库。 截至 2021 年,有 4.55 亿个网站在 WordPress 上运行,大约占互联网上所有网站的 43%。

正是因为它的流行也使 WordPress 成为大多数网络攻击的目标,因此worpress也是当下各种CTF靶机中的重要类型。本文重点讨论作为渗透测试人员如何渗透测试Wordpress站点,尤其是如何得到运行Wordpress站点的主机的控制权,或者Shell(命令执行环境)。本文也许本文是目前最为全面的拿Shell的方法(哈哈)。

Wordpress渗透测试步骤

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

第一步:通过各类目录扫描工具比如Gobuster, dirb, nikto,dirbuster等枚举出wordpress站点的所在目录。

第二步:接下来的目标是获得Wordpress管理后台的用户名和密码,可先看下有无弱口令(比如admin:admin等),如若无果,可通过wpscan工具或者Hydra工具破解wordpress的管理员用户名和密码。如果该步骤无法成功,比如目标采用了强口令,那么破解的成功率是很低的,此时可探测是否存在有漏洞的插件。

$ wpscan --url -e u,p

第三步:在获得wordpress管理员用户名和密码后,接下来的目标是拿到目标主机的控制权即Shell。

获取Shell的方法

方法一:将php reverse shell(shell.php)文件的代码拷贝替换Theme Editor中的404.php模板,如果可以update file成功,那表明通过该方式可以获取目标主机的Shell。

一旦update file成功,在攻击机比如Kali Linux启动nc监听(端口要与shell.php一致),然后访问靶机的URL,该URL为shell.php所在url, 可在页面源代码中查找到该url的前缀,一般是在/wp-content/

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

方法三:将php reverse shell文件压缩成zip格式,然后将其作为插件进行安装。

方法四:登录wordpress管理后台,看是否已经安装有插件,并且插件的功能中有可以上传文件的入口,此时将php reverse shell以规定的格式(比如zip)上传至目标站点。

方法五:向目标主机上传有漏洞的插件,比如Responsive Thumbnail slider version 1.0

上传成功后,利用metasploit中的wp_responsive_thumbnail_slider_upload模块获得 meterpreter session

方法六:直接在安装Plugin处上传php reverse shell.php文件,无需压缩,可能没有返回成功上传的提示,但是到/wp-content/uploads即可看到所上传的文件。

方法七:在本靶机中wordpress的主题为nanospace,通过修改该主题下的404.php模板文件失败,注意无需真的切换主题,而是在右上侧的Select theme to edit:,选择任意一个theme,比如本例中选择Twenty Nineteen主题,然后修改该主题下的404.php文件,即可成功修改,但是此时404.php文件位置一定要对应Twenty Nineteen主题的目录。

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

标签: #phpshell