XSS攻击平台
XSS Payload如此强大,为了使用方便,有安全研究者将许多功能封装起来,成为XSS攻击平台。这些攻击平台主要目的是为了演示XSS的危害,以及方便渗透测试使用。下面介绍了几个常见的XSS攻击平台。
开源的XSS平台项目
XSS Platform
XSS Platform 是一个非常经典的XSS渗透测试管理系统,原作者在2011年所开发,由于后来长时间没有人维护,导致目前在PHP7环境下无法运行。该项目作者将源码移植到了PHP7环境中,同时增加安装功能。
项目地址:https://github.com/78778443/xssplatform
BlueLotus_XSSReceiver
其安装起来相比较于xss-platform更加简单,如果说xss-platform是一个多人使用的堡垒,而BlueLotus_XSS更像是一个人使用的瑞士军刀。其界面布局清新、数据可阅读性好、IP获取准确、IP地址定位精准、轻量级(无需数据库)、对数据存储进行加密。
项目地址:https://github.com/asw3asw/BlueLotus_XSSReceiver
Medusa
Medusa是一个红队武器库平台,目前包括XSS平台、协同平台、CVE监控、免杀生成、DNSLOG、钓鱼邮件等功能。
项目地址:https://github.com/Ascotbe/Medusa
官方文档:http://medusa.ascotbe.com/Documentation/#/
在线的XSS平台
- NGXPT:https://ngxpt.co/
- XSSYE:https://xssye.com/
- XSSSAQ:https://xssaq.com/
- XSS.SB:https://xss.sb/
- XSS.PT:https://xss.pt/
并不推荐使用在线的XSS平台,毕竟敏感信息要传输到陌生人的服务器上,而且服务器端测试代码存在不可控性
BeEF-XSS
BeEF-XSS的介绍
BeEF-XSS,全称The Browser Exploitation Framework(浏览器攻击框架),是一款非常强大的web框架攻击平台,集成了许多payload,可以实现许多功能!
BeEF的架构图如下:

zombie即受害者浏览器。zombie 是被 hook的,如果浏览器访问有钩子(由 js 编写)的页面,就会被 hook,勾连的服务器会执行初始代码返回一些信息,接着 zombie 会每隔一段时间(默认为 1 秒)就会向BeEF 服务器发送一个请求,询问是否有新的代码需要执行。BeEF 服务器本质上就像一个 Web 应用,分为前端 UI 和,后端。前端会轮询后端是否有新的数据需要更新,同时前端也可以向后端发送指示,BeEF 持有者可以通过浏览器来登录 BeEF 的后端管理 UI 或者切换到他的工作目录中使用脚本启动。
BeEF-XSS使用的基本流程
第一次启动需要设置登录密码。

登录页面,用户名为beef

在漏洞页面中插入BeEF的hook脚本

在BeEF-XSS主页面中可以看到受害者的浏览器正式上线,接着就可以使用Command模块对其进行利用

BeEF-XSS主页面基本介绍:
- Hocked Browers
- online browers 在线浏览器
- offline browers 离线浏览器
- Detials
- 浏览器、插件版本信息,操作系统信息
- Logs
- 浏览器动作:焦点变化,鼠标单击,信息输入
- Commands
- 绿色模块:命令模块针对目标浏览器工作,并且受害者不可见
- 橙色模块:命令模块针对目标浏览器工作,但受害者可见
- 灰色模块:命令模块尚未针对该目标浏览器进行验证
- 红色模块:命令模块不适用目标浏览器,有些红色模块也可以执行
- Network
- 能够自动生成网络拓扑图
BeEF-XSS模块的利用
弹窗提示
可以使用alert或prompt进行弹窗。
使用模块:Browser -> Hooked Domain -> Create Alert Dialog
使用模块:Browser -> Hooked Domain -> Create Prompt Dialog
获取Cookie值
使用模块:Browser -> Hooked Domain -> Get Cookie


网页重定向
使用模块:Browser -> Hooked Domain -> Redirect Browser

受害者的网页便会重定向到我们给定的URL。
但是这样一来受害者的浏览器便会脱离BeEF的控制,那么我们可以使用iFrame框架的方式进行重定向。
使用模块:Browser -> Hooked Domain -> Redirect Browser(iFrame)

键盘记录
使用模块:Misc -> iFrame Event Key Logger


点击劫持
使用模块:Social Engineering -> Clickjacking

每当鼠标点击在页面上点击时,就会自动执行js代码。
社工弹窗钓鱼
Flash更新页面钓鱼
使用模块:Social Engineering -> Fake Flash Update

通知栏钓鱼
使用模块:Social Engineering -> Notifaction Bar(Chrome)
使用模块:Social Engineering -> Notifaction Bar(Firefox)
使用模块:Social Engineering -> Notifaction Bar(IE)
登录页面钓鱼
Google Mail登录
使用模块:Social Engineering -> Google Phishing
弹窗登录
弹窗页面有:Facebook、LinkedIn、Windows、YouTube、Yammer、IOS、Generic
使用模块:Social Engineering -> Pretty Theft
持久化控制
浏览器中间人攻击
常规页面与MitB(浏览器中间人攻击)中毒页面的区别在于,MitB会异步加载资源,同时保持勾连活动。对于用户来说一切都好像在正常页面中操作一样,很难察觉到有异常。这里要注意一下,如果用户单击了跨域链接,MitB会在浏览器中打开一个新的标签页,并把响应的内容放在新的标签页。
使用模块:Persistencr -> Man-In-The-Browser
IFrame内嵌框架
IFrame是HTML中的一个标签,可以创建包含另外一个文档的内联框架。为了持久的控制,可以创建一个全屏(整个浏览器)的IFrame来把页面放进去。BeEF的作者建议如果想持久化,内嵌框架是首选方案,原因如下:第一,可以完全控制内嵌框架的DOM内容。第二,内嵌框架主要用于在当前页面嵌入其他文档的事实,为持久化提供了直接了当的方法。
使用模块:Persistencr -> CreateForeground iFrame
另外,BeEF还可以结合MSF进行渗透测试,这会在之后使用MSF的时候进行讲解。