當前位置:編程學習大全網 - 編程語言 - 什麽是xss攻擊?

什麽是xss攻擊?

壹、什麽是跨站腳本攻擊

跨站腳本攻擊(Cross Site Scripting)縮寫為CSS,但這會與層疊樣式表(Cascading Style Sheets,CSS)的縮寫混淆。通常將跨站腳本攻擊縮寫為XSS。

跨站腳本攻擊(XSS),是最普遍的Web應用安全漏洞。這類漏洞能夠使得攻擊者嵌入惡意腳本代碼到正常用戶會訪問到的頁面中,當正常用戶訪問該頁面時,則可導致嵌入的惡意腳本代碼的執行,從而達到惡意攻擊用戶的目的。

二、跨站腳本攻擊的種類

從攻擊代碼的工作方式可以分為三個類型:

1、持久型跨站:最直接的危害類型,跨站代碼存儲在服務器(數據庫)。

2、非持久型跨站:反射型跨站腳本漏洞,最普遍的類型。用戶訪問服務器-跨站鏈接-返回跨站代碼。

3、DOM跨站(DOM XSS):DOM(document object model文檔對象模型),客戶端腳本處理邏輯導致的安全問題。

三、跨站腳本攻擊的手段和目的

常用的XSS攻擊手段和目的有:

1、盜用cookie,獲取敏感信息。

2、利用植入Flash,通過crossdomain權限設置進壹步獲取更高權限;或者利用Java等得到類似的操作。

3、利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻擊)用戶的身份執行壹些管理動作,或執行壹些壹般的如發微博、加好友、發私信等操作。

4、利用可被攻擊的域受到其他域信任的特點,以受信任來源的身份請求壹些平時不允許的操作,如進行不當的投票活動。

5、在訪問量極大的壹些頁面上的XSS可以攻擊壹些小型網站,實現DDoS攻擊的效果。

四、跨站腳本攻擊的防禦

XSS攻擊主要是由程序漏洞造成的,要完全防止XSS安全漏洞主要依靠程序員較高的編程能力和安全意識,當然安全的軟件開發流程及其他壹些編程安全原則也可以大大減少XSS安全漏洞的發生。這些防範XSS漏洞原則包括:

1、不信任用戶提交的任何內容,對所有用戶提交內容進行可靠的輸入驗證,包括對URL、查詢關鍵字、HTTP頭、REFER、POST數據等,僅接受指定長度範圍內、采用適當格式、采用所預期的字符的內容提交,對其他的壹律過濾。盡量采用POST而非GET提交表單;對“<”,“>”,“;”,“””等字符做過濾;任何內容輸出到頁面之前都必須加以en-code,避免不小心把htmltag顯示出來。

2、實現Session 標記(session tokens)、CAPTCHA(驗證碼)系統或者HTTP引用頭檢查,以防功能被第三方網站所執行,對於用戶提交信息的中的img等link,檢查是否有重定向回本站、不是真的圖片等可疑操作。

3、cookie 防盜。避免直接在cookie中泄露用戶隱私,例如email、密碼,等等;通過使cookie和系統IP綁定來降低cookie泄露後的危險。這樣攻擊者得到的cookie沒有實際價值,很難拿來直接進行重放攻擊。

4、確認接收的內容被妥善地規範化,僅包含最小的、安全的Tag(沒有JavaScript),去掉任何對遠程內容的引用(尤其是樣式表和JavaScript),使用HTTPonly的cookie。

  • 上一篇:MATLAB中: set(imh, 'erasemode', 'none') 這句命令是什麽意思?
  • 下一篇:數控技術適合女生學嗎
  • copyright 2024編程學習大全網