BeEF,全称The Browser Exploitation Framework,是一款针对浏览器的渗透测试工具。 用Ruby语言开发的,Kali中默认安装的一个模块,用于实现对XSS漏洞的攻击和利用。前端
BeEF主要是往网页中插入一段名为hook.js的JS脚本代码,若是浏览器访问了有hook.js(钩子)的页面,就会被hook(勾住),勾连的浏览器会执行初始代码返回一些信息,接着目标主机会每隔一段时间(默认为1秒)就会向BeEF服务器发送一个请求,询问是否有新的代码须要执行。BeEF服务器本质上就像一个Web应用,被分为前端和后端。前端会轮询后端是否有新的数据须要更新,同时前端也能够向后端发送指示, BeEF持有者能够经过浏览器来登陆 BeEF 的后端,来控制前端(用户的浏览器)。BeEF通常和XSS漏洞结合使用。git
官网: https://beefproject.comgithub
wiki: https://github.com/beefproject/beef/wikichrome
框架:后端
启动之后浏览器
登陆名和密码默认都是:beef缓存
登陆成功后,这里会显示在线的主机和不在线的主机。在线的就是如今该主机浏览器执行了咱们的JS脚本代码,不在线的就是该主机曾经执行过咱们的JS脚本代码,可是如今叉掉了该页面服务器
单击打开一个主机框架
咱们点击当前在线的主机,而后右边会有选择框,咱们点击 Current Browser ,而后下面就有一些功能项:Details、Logs、Commands、Rider、XssRays、Ipec、Network、WebRTCide
Details是浏览器信息详情
Logs能记录你在浏览器上的操做,点击,输入操做都能记录
Commands是你能对该浏览器进行哪些操做
咱们点击Command,这里有一些咱们可使用的功能分类,一共有12个大的功能
在每一个模块以前,您将看到具备不一样颜色的子弹。在内部,BeEF会检测您挂接的浏览器并知道每一个浏览器上正在使用哪些模块:
注意,红绿灯系统指示命令模块是否在僵尸浏览器和僵尸浏览器使用的底层操做系统上工做; 可是,该模块可能有其余要求,例如存在第三方浏览器插件(如Flash),可能须要在特权区域内执行,例如chrome://
,或者可能须要存在第三方库,如PhoneGap API。
默认状况下JS注入附带缓存投毒功能,将视图缓存全部的页面至2099年,但能够经过清除全部缓存及浏览数据来清除缓存投毒的影响。
js缓存投毒说白了就是受害者的浏览器缓存了一个被咱们篡改的js脚本,若是缓存没有被清除,每次这个受害者访问网页的时候都会加载咱们的js脚本。js缓存投毒说白了就是受害者的浏览器缓存了一个被咱们篡改的js脚本,若是缓存没有被清除,每次这个受害者访问网页的时候都会加载咱们的js脚本。