程式設計師吐槽之java編程xss的漏洞解析與防護

程序員吐槽之java編程xss的漏洞解析與防護

小熊吐槽之java編程xss的漏洞解析與防護

程序員吐槽之java編程xss的漏洞解析與防護

小熊吐槽之java編程xss的漏洞解析與防護

對於的用戶輸入中出現XSS漏洞的問題,主要是由於開發人員對XSS瞭解不足,安全的意識不夠造成的。現在讓我們來普及一下XSS的一些常識,以後在開發的時候,每當有用戶輸入的內容時,都要加倍小心。請記住兩條原則:過濾輸入和轉義輸出。

一、什麼是XSS

XSS又叫CSS (Cross Site Script) ,跨站腳本攻擊。它指的是惡意攻擊者往Web頁面裡插入惡意html代碼,當用戶瀏覽該頁之時,嵌入其中Web裡面的html代碼會被執行,從而達到惡意的特殊目的。XSS屬於被動式的攻擊,因為其被動且不好利用,所以許多人常呼略其危害性。

在WEB2.0時代,強調的是互動,使得用戶輸入信息的機會大增,在這個情況下,我們作為開發者,在開發的時候,要提高警惕。

程序員吐槽之java編程xss的漏洞解析與防護

小熊吐槽之java編程xss的漏洞解析與防護

二、XSS攻擊的主要途徑

XSS攻擊方法只是利用HTML的屬性,作各種的嘗試,找出注入的方法。現在對三種主要方式進行分析。

第一種:對普通的用戶輸入,頁面原樣內容輸出。

第二種:在代碼區裡有用戶輸入的內容

原則就是,代碼區中,絕對不應含有用戶輸入的東西。

第三種:允許用戶輸入HTML標籤的頁面。

用戶可以提交一些自定義的HTML代碼,這種情況是最危險的。因為,IE瀏覽器默認採用的是UNICODE編碼,HTML編碼可以用ASCII方式來寫,又可以使用”/”連接16進制字符串來寫,使得過濾變得異常複雜,如下面的四個例子,都可以在IE中運行。

1,直接使用JS腳本。

2,對JS腳本進行轉碼。

3,利用標籤的觸發條件插入代碼並進行轉碼。

4,使用16進制來寫(可以在傲遊中運行)

以上寫法等於

程序員吐槽之java編程xss的漏洞解析與防護

小熊吐槽之java編程xss的漏洞解析與防護

三、XSS攻擊解決辦法

請記住兩條原則:過濾輸入和轉義輸出。

具體執行的方式有以下幾點:

第一、在輸入方面對所有用戶提交內容進行可靠的輸入驗證,提交內容包括URL、查詢關鍵字、http頭、post數據等

第二、在輸出方面,在用戶輸內容中使用

標籤。標籤內的內容不會解釋,直接顯示。<p>第三、嚴格執行字符輸入字數控制。</p><p>四、在腳本執行區中,應絕無用戶輸入。</p><p><img class="lazy" data-original="//p2.ttnews.xyz/5bbd18b0bd3c314ce69799e2.jpg" img_width="639" img_height="116" alt="程序員吐槽之java編程xss的漏洞解析與防護" inline="0"/></p><p class="pgc-img-caption">小熊吐槽之java編程xss的漏洞解析與防護</p><blockquote><p>歡迎大家在下方積極吐槽,小編會一一進行查看並回復,期待你的答案哦……</p> <div class="lazy-load-ad"></div><p>小熊轉載自 博客園,如果喜歡請轉發,小小支持一下。</p></blockquote>


分享到:


相關文章: