小編給大家分享一下Web中XSS攻擊與防御的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、日土網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場景定制、成都做商城網(wǎng)站、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為日土等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
Web安全之XSS攻防
1. XSS的定義
跨站腳本攻擊(Cross Site Scripting),縮寫為XSS。惡意攻擊者往Web頁面里插入惡意Script代碼,當用戶瀏覽該頁之時,嵌入其中Web里面的Script代碼會被執(zhí)行,從而達到惡意攻擊用戶的目的。
2. XSS的原理
攻擊者對含有漏洞的服務(wù)器發(fā)起XSS攻擊(注入JS代碼)。
誘使受害者打開受到攻擊的服務(wù)器URL。
受害者在Web瀏覽器中打開URL,惡意腳本執(zhí)行。
3. XSS的攻擊方式
(1)反射型: 發(fā)出請求時,XSS代碼出現(xiàn)在URL中,作為輸入提交到服務(wù)器端,服務(wù)器端解析后響應(yīng),XSS隨響應(yīng)內(nèi)容一起返回給瀏覽器,最后瀏覽器解析執(zhí)行XSS代碼,這個過程就像一次發(fā)射,所以叫反射型XSS。
(2)存儲型: 存儲型XSS和反射型的XSS差別就在于,存儲型的XSS提交的代碼會存儲在服務(wù)器端(數(shù)據(jù)庫,內(nèi)存,文件系統(tǒng)等),下次請求目標頁面時不用再提交XSS代碼。
4. XSS的防御措施
(1)編碼:對用戶輸入的數(shù)據(jù)進行HTML Entity編碼
(2)過濾:移除用戶上傳的DOM屬性,如onerror等,移除用戶上傳的style節(jié)點,script節(jié)點,iframe節(jié)點等。
(3)校正:避免直接對HTML Entity編碼,使用DOM Prase轉(zhuǎn)換,校正不配對的DOM標簽。
5. 應(yīng)用示例
構(gòu)建node應(yīng)用,演示反射型XSS攻擊。(Linux操作系統(tǒng)中)
本例子的代碼地址:https://github.com/Xganying/Web-XSS (xss_test1)
(1) 新建一個文件夾xss: mkdir xss_test1
(2) 切換目錄到該文件夾下: cd xss
(3) 安裝express: express -e ./
(4) 構(gòu)建應(yīng)用依賴: npm install
(5) 打開構(gòu)建好的node應(yīng)用,得到目錄:
(6) 開啟node服務(wù):npm start
(7) 在瀏覽器地址欄輸入:localhost:3000 ,得到:
(8) 加入xss
修改xss_test1文件routers目録下的index.js文件:
修改xss_test1文件views目錄下的index.ejs文件:
(9) 重啟node服務(wù):npm start ,打開瀏覽器
a. 在地址欄輸入: localhost:3000/?xss=hello
運行結(jié)果得到:
b. 在地址欄輸入:localhost:3000/?xss=<img src="null" onerror="alert(1)">
運行結(jié)果得到:
說明: 如果代碼中沒有 res.set('X-XSS-Protection', 0);
則會發(fā)現(xiàn)沒有彈出框,這是因為瀏覽器自動設(shè)置了攔截XSS,所以onerror事件并不會執(zhí)行,而加上了:res.set('X-XSS-Protection', 0);
才會出現(xiàn)彈框,這才完成了一次xss攻擊。
c. 在地址欄輸入:localhost:3000/?xss=<p onclick="alert(%點我%)">點我</p>
運行結(jié)果得到:
說明: 這種攻擊就是常用于篡改頁面內(nèi)容,破壞頁面結(jié)構(gòu),引誘用戶去點擊一些釣魚等網(wǎng)站的手段。
d. 在地址欄輸入:localhost:3000/?xss=<iframe src="//baidu.com/t.html"></iframe>
運行結(jié)果得到:
說明:這種攻擊就常用于廣告植入等。
簡單總結(jié)就是: img標簽是自動觸發(fā)而受到攻擊的,p標簽是引誘出發(fā)而受到攻擊的的,而iframe則是廣告植入攻擊的。
以上是“Web中XSS攻擊與防御的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)頁題目:Web中XSS攻擊與防御的示例分析
本文路徑:http://www.rwnh.cn/article30/jijpso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站制作、定制開發(fā)、響應(yīng)式網(wǎng)站、企業(yè)網(wǎng)站制作、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)