XSS-----------跨站脚本攻击
在Web页面中插入恶意代码,用户在浏览该页面时,恶意代码被执行,从而达到恶意用户的目的。
一般由于对用户输入没有严格的控制,直接输出页面,可能受到XSS攻击,是一种对非预期输入的信任。
XSS危害:
窃取各类用户账号,窃取数据,非法转账,挂马等。。。
分类
1.存储型(持久型)
会把攻击者的数据存储在服务器端,会一直存在。
例如:攻击者可以提供一个攻击链接,当用户点击该链接时,向攻击者自己的服务器发送一条保存有用户session ID的信息,这样就可以窃取到用户的session ID,得到用户的执行权限。
2.反射型(非持久型)
内容直接读取,并直接反应在页面上。是一次性的,只对本次访问有影响。
用户会点一个被攻击者篡改后的链接
<?php $name = $_GET['name']; echo "Welcome $name<br>"; echo "<a href="http://www.cnblogs.com/bangerlee/">Click to Download</a>"; ?>
XSS防御措施
1.对用户所有的输入都进行进行检查,确保符合我们的期望,永远不要相信用户的输入
2.对输入的数据进行转义保存,输出的时候再还原