XSS攻击
XSS(跨站脚本攻击):是最常见的Web应用程序安装漏洞之一。而攻击者仅仅只是向Web页面中注入JavaScript代码。
反射性XSS
非持久型XSS(最易出现),当用户访问一个带有XSS代码的URL请求时,服务器端接收到数据后处理,再把待XSS的数据发送到浏览器,浏览器解析后造成漏洞。
在URL中加<script>alert(1)</script>
方法:
1、将 id= 后的内容替换为< script>alert(6)</ script>,观察页面是否弹出“6”,若弹出,则存在反射性xss。(常用)
2、攻击者发现某网站存在反射性xss,构造JavaScript代码以盗取用户cookie;然后将带有反射性xssURL通过站内发送给用户,若用户单击了次URL,将会把自己cookie发出,,攻击者直接接收敏感信息。
存储型XSS
持久性xss(最危险的一种跨站脚本),攻击者提交一段xss代码被服务器端接收并存储后,攻击者再次访问某个页面时,这段代码被读出响应给浏览器,造成xss攻击。
存储型xss具有更高的隐蔽性。
方法:(多出现于留言板和页面搜索框)
普通注入:< script>alert(6)</ script>
闭合标签注入:"/>< script>alert(6)</ script>
闭合标签注入:</ textarea>"’>< script>alert(6)</ script>
若成功弹出“6”,且页面有回显,则存在存储型xss
DOM XSS
Document Object Model(文档对象模型),不需要跟服务器端发生交互,只会发生在客户端处理数据阶段。
方法:查看网页代码并输入类似< script>alert(6)</ script>,就会产生xss漏洞。
防御
1、在表单提交或者url参数传递前对需要的参数进行过滤。例如:<>" ’ % & ; / 等等。
2、编码转换。