社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

PyShell:一款功能强大的跨平台Python WebShell

FreeBuf • 3 年前 • 516 次点击  

 关于PyShell 

PyShell是一款功能强大的跨平台Python WebShell,该工具可以帮助广大研究人员在Web服务器上获得一个类似于Shell的界面,并允许进行远程访问。该工具与其他WebShell不同的地方就在于,PyShell的主要目标是在服务器端使用尽可能少的代码来实现目标功能,而不用我们去考虑使用的语言或服务器的操作系统。

基于这种功能特性,我们将能够在Windows和Linux系统上使用各种不同类型和语言的Shell,包括aspx、php、jsp、sh和py等。与此同时,PyShell还提供了完整的命令执行历史记录、文件上传和下载,设置还可以允许我们像使用标准Shell一样进行各种文件系统间的切换。

 工具要求 

首先,该工具基于Python 3开发,因此我们需要在本地设备上安装并配置好Python 3环境。接下来,使用该项目提供的requirements.txt安装该工具所需的依赖组件。

 工具安装 

我们建议广大研究人员直接使用下列命令将该项目源码克隆至本地,或直接下载该项目的【Zip文件】:

git clone https://github.com/JoelGMSec/PyShell
cd PyShell ; pip install -r requirements.txt

 工具使用 

./PyShell.py -h
-------------- by @JoelGMSec & @3v4Si0N ---------------

usage: pyshell.py [-h] [-a AUTH] [-c COOKIES] [-p PARAM] [-pi] [-su] [-ps] url method

positional arguments:
url Webshell的URL地址
method 执行命令所使用的HTTP方法 (GET或POST)

optional arguments:
-h, --help 显示帮助信息和退出
-a AUTH, --auth AUTH 在每一次请求发送时所使用的认证Header
-c COOKIES, --cookies COOKIES
在每一次请求发送时所使用的Cookie Header
-p PARAM, --param PARAM
自定义WebShell所使用的参数
-pi, --pipe 传递参数后所有的命令
-su, --sudo Sudo命令执行(仅适用Linux主机)
-ps, --PowerShell PowerShell命令执行(仅适用Windows主机)

 工具使用样例 

在项目的Shells文件夹中,我们可以找到各种不同类型的WebShell。比如说,我们可以启动一个PHP服务器并使用GET请求与服务器交互:

非常简单,我们只需要上传WebShell的地址和想要使用的连接方法即可(GET或POST)。

我们还可以使用文件上传功能:

或者下载文件:

许可证协议

本项目的开发与发布遵循GNU v3.0开源许可证协议。

项目地址

https://github.com/JoelGMSec/PyShell

参考资料

https://darkbyte.net/pyshell-multiplatform-python-webshell



精彩推荐









Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129207
 
516 次点击