程式碼安全測試第十五期:跨站指令碼漏洞
一、什麼是跨站指令碼漏洞?
從使用者控制的輸入到輸出之前,軟體沒有對其進行過濾或沒有正確過濾,這些輸出用作向其他使用者提供服務的網頁。
二、跨站指令碼(XSS)漏洞通常在哪些情況下發生?
1、不可信資料進入網路應用程式,通常透過網頁請求;
2、網路應用程式動態地生成一個帶有不可信資料的網頁;
3、在網頁生成期間,應用程式不會阻止Web瀏覽器可執行的內容資料,例如JavaScript、HTML標籤、HTML屬性、滑鼠事件、Flash、ActiveX等;
4、受害者透過瀏覽器訪問的網頁包含帶有不可信資料的惡意指令碼;
5、由於指令碼來自於透過web伺服器傳送的網頁,因此受害者的web瀏覽器會在web伺服器域的上下文中執行惡意指令碼;
6、違反web瀏覽器的同源策略,同源策略是一個域中的指令碼不能訪問或執行其他域中的資源或程式碼。
三、跨站指令碼漏洞的構成條件有哪些?
滿足一以下條件,就構成了一個該型別的安全漏洞:
1、資料從不可靠來源(包含但不侷限於不可靠使用者的輸入資訊或是不可靠使用者可能更改的檔案)進入應用程式;
2、該資料未經過濾或不正確地過濾特殊字元後,直接使用。
四、跨站指令碼漏洞會造成哪些後果?
關鍵詞:執行未經授權的程式碼或命令;旁路保護機制;讀取應用程式資料
1、盜取各類使用者賬號。如機器登入賬號、使用者網銀賬號、各類管理員賬號;
2、控制企業資料。包括讀取、篡改、新增、刪除企業敏感資料的能力;
3、盜竊企業重要的具有商業價值的資料;
4、非法轉賬;
5、強制傳送電子郵件;
6、網站掛馬;
7、控制受害者機器向其它網站發起攻擊。
五、跨站指令碼漏洞的防範和修補方法有哪些?
1、輸入驗證:對輸入的資訊進行驗證。仔細檢查每個輸入引數,以確定允許的特定字元和格式。
2、輸出編碼:使用並指定下游元件可處理得輸出編碼格式。常用編碼包括ISO-8859-1,UTF-7和UTF-8。
六、跨站指令碼漏洞樣例:
用悟空 靜態程式碼檢測工具分析 上述程式程式碼,則可以發現程式碼中存在著“跨站指令碼” 導致的 程式碼缺陷 ,如下圖:
跨站指令碼在CWE中被編號為CWE-79: Improper Neutralization of Input DuringWeb Page Generation ('Cross-site Scripting')
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2775951/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 跨站指令碼漏洞指令碼
- 程式碼安全測試第五期:OS命令注入漏洞
- 程式碼安全測試第十二期:LDAP注入漏洞LDA
- jQuery 跨站指令碼漏洞影響大量網站jQuery指令碼網站
- 程式碼安全測試第十期:日誌偽造漏洞
- 程式碼安全測試第十一期:記憶體洩漏漏洞記憶體
- 程式碼安全測試第十八期:呼叫System.exit()存在安全漏洞
- 【第七章】XSS 跨站指令碼漏洞指令碼
- 程式碼安全測試第二十五期:陣列宣告為public final static漏洞缺陷陣列
- 程式碼安全測試第十六期:使用不安全的隨機值漏洞隨機
- 程式碼安全測試第十三期:敏感資訊的明文傳輸漏洞
- Web安全之跨站指令碼攻擊(XSS)Web指令碼
- 網站漏洞測試php程式碼修復詳情網站PHP
- 網站滲透測試漏洞分析程式碼架構網站架構
- 程式碼安全測試第十九期:用不安全的授權建立臨時檔案漏洞
- 網站漏洞修補之ECshop4.0跨站指令碼攻擊修復網站指令碼
- 程式碼安全測試第十七期:物件只定義了Equals和Hashcode方法之一的漏洞物件
- 程式碼安全測試第六期:XPath注入漏洞
- 程式碼安全 兩種程式碼漏洞
- 程式碼安全測試第七期:不安全的反射漏洞缺陷反射
- XSS跨站指令碼攻擊介紹指令碼
- 網站滲透測試安全檢測漏洞網站
- PYTHON測試指令碼Python指令碼
- 網站安全測試之APP滲透測試漏洞網站APP
- Python指令碼檢測笑臉漏洞Python指令碼
- 程式碼安全測試第十四期:使用已破解或危險的加密演算法導致的漏洞加密演算法
- Spring中防止跨站指令碼 (XSS)攻擊Spring指令碼
- XSS - 跨站指令碼之portswigger labs練習指令碼
- 聊兩句XSS(跨站指令碼攻擊)指令碼
- 程式碼安全測試第一期:什麼是SQL隱碼攻擊漏洞?SQL
- 10分鐘走進安全/滲透測試:用最簡單的話聊一聊(XSS)跨站指令碼攻擊指令碼
- 程式碼安全測試第二期:URL重定向(跳轉)漏洞
- 網站安全檢測 對帝國CMS程式碼的後臺功能性安全測試網站
- 簡單易懂的XSS(跨站指令碼攻擊)指令碼
- 程式碼安全測試第九期:Switch中省略了break語句導致的程式碼缺陷漏洞
- 程式碼安全測試第二十期:資源未關閉/釋放漏洞
- 程式碼安全測試第二十二期:HTTP響應拆分漏洞HTTP
- 程式碼安全測試第四期:可逆的單向雜湊漏洞