[点晴永久免费OA]BeEF-XSS钓鱼网站攻击
当前位置:点晴教程→点晴OA办公管理信息系统
→『 经验分享&问题答疑 』
BEEF (The Browser Exploitation Framework):一款浏览器攻击框架,用Ruby语言开发的,Kali中默认安装的一个模块,用于实现对XSS漏洞的攻击和利用。 BeEF主要是往网页中插入一段名为hook.js的JS脚本代码,如果浏览器访问了有hook.js(钩子)的页面,就会被hook(勾住),勾连的浏览器会执行初始代码返回一些信息,接着目标主机会每隔一段时间(默认为1秒)就会向BeEF服务器发送一个请求,询问是否有新的代码需要执行。BeEF服务器本质上就像一个Web应用,被分为前端和后端。前端会轮询后端是否有新的数据需要更新,同时前端也可以向后端发送指示, BeEF持有者可以通过浏览器来登录 BeEF 的后端,来控制前端(用户的浏览器)。BeEF一般和XSS漏洞结合使用。
一、BeEF-XSS钓鱼网站攻击原理 1、BeEF框架概述 BeEF(The Browser Exploitation Framework)是一款专注于浏览器渗透测试的开源框架,通过劫持用户浏览器实现远程控制、信息窃取和内网渗透。BeEF 的核心在于将一个名为 hook.js 的 JavaScript 钩子注入到目标网页中,当用户访问被篡改的页面时,其浏览器会加载并执行 hook.js ,从而与 BeEF 服务端建立一个持续的通信通道。 2、攻击流程 • 注入hook.js:攻击者通过 XSS 漏洞或伪造的网页,将 hook.js 注入到目标网页中。例如,通过存储型 XSS 漏洞将以下代码注入到目标网站的留言板中:
• 浏览器被钩住:当用户访问被篡改的页面时,浏览器会加载并执行hook.js,与 BeEF 服务端建立通信通道。BeEF 服务端默认监听 3000 端口。 • 控制浏览器:攻击者通过 BeEF 的控制台向被钩住的浏览器发送指令,执行各种攻击模块。例如,攻击者可以: • 窃取用户的 Cookie。 • 弹出恶意对话框。 • 重定向用户到钓鱼网站。 • 进行键盘记录。 • 扫描内网。 3、攻击示例 • 环境搭建: • 攻击机:Kali Linux,安装 BeEF 和 Apache2。 • 靶机:Windows 11,安装任意浏览器(如 Chrome 或 Edge)。 • 安装和启动 BeEF:
启动后,BeEF 会监听3000 端口,控制台地址为:http://attacker_ip:3000/ui/panel` • 注入hook.js : • 在靶机的留言板中插入以下代码:
• 靶机用户访问该留言板时,浏览器会加载hook.js,被 BeEF 钩住。 • 控制浏览器: • 登录 BeEF 控制台,查看上线的浏览器。 • 选择目标浏览器,发送指令,如弹出对话框:
二、防御措施 1、输入验证与净化 • 白名单策略:对于接收的用户输入,优先考虑使用白名单策略,即只允许指定的一组字符或格式进入系统。 • 黑名单策略:对于已知有害字符集,如< , > , & , " , ' 等,可采用黑名单方式移除或转义。 2、输出编码 • HTML 编码:在动态生成 HTML 内容时,确保所有的非安全字符被转换成 HTML 实体。 • JavaScript 编码:在 JavaScript 代码段中插入动态数据时,要确保其通过 JSON.stringify() 或其他安全方法进行序列化。 3、设置HTTPOnly Cookie • 在服务器端设置 session cookie 时,添加 HTTPOnly 标志,禁止客户端JavaScript 访问。 4、实施Content Security Policy (CSP) • 设置严格的 CSP 策略,限制网页加载的资源来源,避免引入恶意脚本。例如: Content-Security-Policy:default-src 'self'; script-src 'self' https://trusted.cdn.com; 5、使用前端安全库 • 利用诸如 DOMPurify 等库对用户输入进行净化,防止恶意脚本注入。 6、定期安全审计 • 定期对代码进行安全审计,发现并修复潜在的安全漏洞。使用自动化工具(如 SonarQube)进行代码扫描,及时发现安全问题。 阅读原文:https://mp.weixin.qq.com/s/7FRGCfxxWeskogisGFMbUw 该文章在 2026/2/5 12:04:52 编辑过 |
关键字查询
相关文章
正在查询... |