p0wny@shell:~# -- 单文件 PHP Shell

p0wny@shell:~# 是一个非常基础的单文件 PHP Shell。在渗透测试 PHP 应用程序时,可以用它快速在服务器上执行命令。请谨慎使用:该脚本会对服务器构成安全风险。
功能:
- 命令历史(使用方向键
↑ ↓)
- 命令和文件名的自动补全(使用
Tab 键)
- 在远程文件系统中导航(使用
cd 命令)
- 上传文件到服务器(使用
upload <destination_file_name> 命令)
- 从服务器下载文件(使用
download <file_name> 命令)
警告: 此脚本是一个安全漏洞。切勿将其上传到服务器,除非你清楚自己在做什么!

Docker 演示:
docker build -t p0wny .
docker run -it -p 8080:8080 -d p0wny
# open with your browser http://127.0.0.1:8080/shell.php
贡献
问题
如果你有任何问题,你可以:
Bug 报告
如果你发现了 Bug,请在 GitHub 上提交 issue,并尽可能提供更多信息:
- 你的操作系统 / Linux 发行版(及其版本)
- 你使用的 PHP 版本(例如:
PHP-FPM 8.1、Apache mod_php 7.4……)
- 你使用的 Web 服务器及其版本(例如:
Nginx 1.23、Apache 2.4.55……)
- 软件输出的所有日志和消息
- 等等
拉取请求
在开始开发新功能之前,请考虑先报告 Bug;这样我们可以讨论最佳的实现方式。如果你只是想修正代码中的拼写错误或小问题,则显然没有必要。
支持这个项目
想支持这个项目吗?
更新日志
- v2023.08.10:
- 使 p0wny@shell 兼容 PHP 5.3(@FrancoisCapon,#38)
- v2023.05.28:
- 将所有数据字段编码为 base64,以避免编码错误,尤其是在 Windows 上(@cli-ish,#8,#35)
- v2023.05.22:
- 在提示符中显示用户名和主机名(@cli-ish,#33,#7)
- v2023.05.10:
- 尝试不同的执行函数(
exec、shell_exec、system、passthru、popen、proc_open)来运行命令,以绕过被禁用的函数(@cli-ish,#31,#32)
- v2023.02.27:
- 使终端窗口可调整大小(@FrancoisCapon,#27)
- v2023.02.13:
- 在大屏幕上使用更大的终端尺寸(@psyray,#26)
- 在小屏幕上不再出现横向滚动(@flozz)
- v2022.09.19:
- 在
cd 命令中展开路径(cd ~、cd ~username……)
- 在 cd 不带参数运行时回到 home 目录。
- → 感谢 @FrancoisCapon 的建议(#25)
- v2021.01.24:
- 样式改进:
- 在 webkit 上更好看的滚动条(@nakamuraos)
- 在移动端显示更小的 logo(@nakamuraos)
- 易用性改进:
- 点击页面时聚焦命令输入框(@nakamuraos)
- 在浏览历史记录时,将光标置于命令输入框末尾(@nakamuraos)
- v2019.06.07:
- 新增
clear 命令以清空终端(@izharaazmi #12)
- v2018.12.15:
- v2018.06.01:
- 命令和文件名的自动补全(@lo001 #2)
- 适配移动设备(响应式)(@lo001 #2)
- 改进了对 stderr 的处理(@lo001 #2)
- v2018.05.30:
- 兼容 ES5(@lo00l #1)
- 移除对 JQuery 的依赖(@lo00l #1)
- 使用方向键浏览命令历史(@lo00l #1)
- 按下 Tab 键时保持命令输入框聚焦
- v2017.10.30:
- v2016.11.10: