日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

xss原理、攻击方式与防御

發布時間:2025/3/14 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 xss原理、攻击方式与防御 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

xss原理:

xss叫跨站腳本攻擊,是Web程序中常見的漏洞只用于客戶端的攻擊方式,其原理是攻擊者向有XSS漏洞的網站中輸入(傳入)惡意的HTML代碼,當其它用戶瀏覽該網站時,這段HTML代碼會自動執行,從而達到攻擊的目的。如,盜取用戶Cookie、破壞頁面結構、重定向到其它網站等。所以做網站的時候要明白一個道理:用戶的輸入是不可信的,所有可輸入的地方都要進行數據進行處理才能杜絕xss攻擊;

xss攻擊的二種方式:

1.反射型:一種基于網頁DOM結構的攻擊,該攻擊特點是中招的人是少數人。通常為通過改變網頁連接后面帶的參數來達到他們的攻擊目的;由于這種危害和范圍都小我就不具體介紹了,具體看下方鏈接;

2.存儲型:這種方式多用于評論或發布文章之類的,內容包含惡意代碼(主要為script、link、style、iframe、frame);當有人把這些代碼隨評論發布出來,你點擊查看的時候他就攻擊成功;也可以通過這些代碼隨意改變你的頁面;這種攻擊方式危害性更大,危害面更廣;

xss防御的三種方式:

1.編碼:對用戶輸入的數據進行HTML entity編碼

?

比如用戶輸入:<script>window.location.href=”http://www.baidu.com”;</script>,保存后最終存儲的會是:&lt;script&gt;window.location.href=&quot;http://www.baidu.com&quot;&lt;/script&gt;在展現時瀏覽器會對這些字符轉換成文本內容顯示,而不是一段可執行的代碼。

這里推薦encode.js這個三方插件對輸入編碼;百度找不到就去github上找;

?

2.過濾:移除用戶上傳的DOM屬性和script、link、style、iframe、frame節點

比如用戶輸入:<style>body{display:none!important}</script>,保存后最終存儲的會讓你整個網頁為空白頁,其他同理;

if(tag=='script'||tag=='style'||tag=='link'||tag=='iframe'||tag=='frame') return; //這樣就對用戶輸入的幾個節點過濾了

3.校正:避免直接對HTML entity編碼,使用DOM Parse對象進行轉換,校正不匹配的DOM標簽;這里推薦domParse.js這個三方插件;

?

?dome地址:https://github.com/MrLQZ/xss? 環境為node+express

?

參考博客:XSS攻擊及防御

轉載于:https://www.cnblogs.com/lqzweb/p/7308249.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的xss原理、攻击方式与防御的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。