高清毛片AAAAAAAAA片,八戒八戒在线电影免费观看,AV午夜久久蜜桃传媒软件,精品久久久久成人码免费动漫,性欧美熟妇VIDEOFREESEX,一区二区传媒有限公司,农村熟妇高潮精品A片,无套内谢少妇毛片A片流出白浆,欧美熟妇丰满肥白大屁股免费视频,国产麻花豆剧传媒精品MV在线

關于我們

達成全網價值營銷服務商的目標

網站建設如何抵御XSS攻擊?

發布時間: 2022.01.06
閱讀量: 1056
分享:

網站建設中,安全抵御抵御XSS攻擊是十分重要的,關系到網站安全。那么什么是XSS攻擊呢?


XSS攻擊全稱跨站腳本攻擊(Cross Site Scripting),是一種常見于 Web 應用中的計算機安全漏洞。惡意攻擊者往 Web 頁面里嵌入惡意的客戶端腳本,當用戶瀏覽此網頁時,腳本就會在用戶的瀏覽器上執行,進而達到攻擊者的目的。比如獲取用戶的 Cookie、導航到惡意網站、攜帶木馬等。


XSS 漏洞是由于對用戶提交的數據沒有經過嚴格的過濾處理造成的,所以防御的原則就是不相信用戶輸入的數據,對輸入進行過濾,對輸出進行編碼。


1、使用 XSS Filter

針對用戶提交的數據進行有效的驗證,只接受我們規定的長度或內容的提交,過濾掉其他的輸入內容。比如:

    表單數據指定值的類型:年齡只能是 int 、name 只能是字母數字等。

    過濾或移除特殊的 html 標簽:<script>、<iframe>等。

    過濾 js 事件的標簽:onclick、onerror、onfocus等。

2、html 實體

當需要往 HTML 標簽之間插入不可信數據的時候,首先要做的就是對不可信數據進行 HTML Entity 編碼,在 html 中有些字符對于 HTML 來說是具有特殊意義的,所以這些特殊字符不允許在文本中直接使用,需要使用實體字符。 html 實體的存在是導致 XSS 漏洞的主要愿意之一,因此我們需要將實體轉化為相應的實體編號。


20220106155423.png


3、JavaScript編碼

這條原則主要針對動態生成的JavaScript代碼,這包括腳本部分以及HTML標簽的事件處理屬性(如onerror, onload等)。在往JavaScript代碼里插入數據的時候,只有一種情況是安全的,那就是對不可信數據進行JavaScript編碼,并且只把這些數據放到使用引號包圍起來的值部分(data value)之中,除了上面的那些轉義之外,還要附加上下面的轉義:

\ 轉成 \\

/ 轉成 \/

; 轉成 (全角;)



注意:在對不可信數據做編碼的時候,不能圖方便使用反斜杠\ 對特殊字符進行簡單轉義,比如將雙引號 ”轉義成 \”,這樣做是不可靠的,因為瀏覽器在對頁面做解析的時候,會先進行HTML解析,然后才是JavaScript解析,所以雙引號很可能會被當做HTML字符進行HTML解析,這時雙引號就可以突破代碼的值部分,使得攻擊者可以繼續進行XSS攻擊;另外,輸出的變量的時候,變量值必須在引號內部,避免安全問題;更加嚴格的方式,對除了數字和字母以外的所有字符,使用十六進制\xhh 的方式進行編碼。

4、Http Only cookie

許多 XSS 攻擊的目的就是為了獲取用戶的 cookie,將重要的 cookie 標記為 http only,這樣的話當瀏覽器向服務端發起請求時就會帶上 cookie 字段,但是在腳本中卻不能訪問 cookie,這樣就避免了 XSS 攻擊利用 js 的 document.cookie獲取 cookie。


很多地方都可能產生 XSS 漏洞,并且產生的方式不一樣,所以對于這些漏洞,我們需要找到正確的方法來防御。XSS 漏洞在不斷的發展,上面介紹的防御方法幾乎能夠解決大部分的 XSS 漏洞,即便這樣,我們也不能掉以輕心,為了讓 Web 應用更安全,我們還需要結合其他的方法來加強 XSS 防御。

隨著科技的不斷發展,Web 應用變得越來越復雜,隨之而產生的漏洞(不僅限于 XSS ) 也越來越多。沒有什么方法能夠一次性解決所有安全問題,我們只能在實際的工作過程中,針對不同的安全漏洞進行針對性的防御。



分享到微信朋友圈 ×
與項目經理交流
掃描二維碼
與項目經理交流
ciya68