XSS(Cross Site Scripting)即跨站脚本攻击,javascript能做到什么效果,XSS的威力就有多大。
JavaScript可以用来获取用户的cookie,改变网站内容,URL跳转。
将恶意代码提交给服务器,通过服务器将代码回传给客户端,本地渲染运行,即会形成XSS。
XSS主要被分为三类,分别是:反射性,存储型,DOM型。
反射性:当用户访问一个带有XSS代码的URL请求时,服务器端接收数据处理后,然后把带有XSS代码的数据发送到浏览器,浏览器解析这段带有XSS代码的数据后,造成XSS漏洞。
存储型:当攻击者提交一段XSS代码后,被服务器端接收并存储,当他人访问含该代码的页面时,这段代码被读出来,响应给浏览器,造成XSS跨站攻击。
(留言网站)根据留言在页面中插入的位置,有如下几种测试方案:
<script>XSS</script>:标签内注入
"/><script>XSS</script>:闭合标签属性
</textarea ' " ><script>XSS</script>:多种闭合
DOM型:DOM(Document Object Model)文档对象模型,DOM可以允许程序和脚本动态地访问和更行文档的内容,结构和样式。DOM型XSS只发生在客户端处理数据阶段,不需要与服务器端发生交互。