<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    XSS 的認識與防護策略

    VSole2021-10-15 07:30:55

    什么是 XSS

    XSS,是一種代碼注入攻擊。攻擊者通過在目標網站上注入惡意腳本,用戶訪問網站后不知不覺就執行了腳本,攻擊者可獲取用戶的敏感信息,如 Cookie、SessionID 等。

    XSS 的本質是:惡意代碼沒有經過過濾,與網站正常的代碼混在一起;瀏覽器無法分辨哪些腳本是可信的,導致惡意腳本被執行。

    XSS 分類

    根據攻擊的來源,XSS 攻擊可分為存儲型、反射型和 DOM 型三種。

    防止 XSS 攻擊

    預防存儲型和反射型 XSS 攻擊

    存儲型和反射型 XSS 都是在服務端取出惡意代碼后,插入到響應 HTML 里的;因此預防這兩種漏洞,有兩種常見做法:

    • 對文本內容做充分轉義
    • 標簽和屬性基于白名單過濾:對于富文本編輯器來說,其產物本身就是 html 代碼,所以沒辦法簡單粗暴使用轉義來處理,應該要對內容中的標簽和屬性,基于白名單進行過濾。(附 XSS 黑名單:DOM 中的內聯事件監聽器如onclick等、<a>標簽的href屬性、<script>標簽、css 中的url功能)

    預防 DOM 型 XSS 攻擊

    不要直接把后端傳來的數據作為 html 來渲染,比如innerHtml()/outerHtml()/document.write()等方法,又比如 Vue 的v-html;盡量使用textContent/setAttribute()

    CSP

    嚴格的 CSP 在 XSS 的防范中可以起到以下的作用:

    • 禁止加載外域代碼,防止復雜的攻擊邏輯。
    • 禁止內聯腳本執行。
    • 禁止外域提交,網站被攻擊后,用戶的數據不會泄露到外域。
    • 合理使用上報可以及時發現 XSS,利于盡快修復問題。

    其他安全措施

    • HTTP-only Cookie: 禁止 JavaScript 讀取某些敏感 Cookie,攻擊者完成 XSS 注入后也無法竊取此 Cookie。
    • 驗證碼:防止腳本冒充用戶提交危險操作。

    附三種 XSS 攻擊分類的詳細解釋

    存儲型 XSS

    存儲型 XSS 的攻擊步驟:

    1. 攻擊者將惡意代碼提交到目標網站的數據庫中。
    2. 用戶打開目標網站時,網站服務端將惡意代碼從數據庫取出,拼接在 HTML 中返回給瀏覽器。
    3. 用戶瀏覽器接收到響應后解析執行,混在其中的惡意代碼也被執行。

    這種攻擊常見于公開用戶提交數據(UGC 內容)的網站功能,如論壇發帖、商品評論、用戶私信等。

    反射型 XSS

    反射型 XSS 的攻擊步驟:

    1. 攻擊者構造出特殊的 URL,其中包含惡意代碼。
    2. 用戶打開帶有惡意代碼的 URL 時,網站服務端將惡意代碼從 URL 中取出,拼接在 HTML 中返回給瀏覽器。
    3. 用戶瀏覽器接收到響應后解析執行,混在其中的惡意代碼也被執行。

    反射型 XSS 跟存儲型 XSS 的區別是:存儲型 XSS 的惡意代碼存在數據庫里,反射型 XSS 的惡意代碼存在 URL 里。

    反射型 XSS 漏洞常見于通過 URL 傳遞參數的功能,如網站搜索、跳轉等。由于需要用戶主動打開惡意的 URL 才能生效,攻擊者往往會結合多種手段誘導用戶點擊。

    DOM 型 XSS

    DOM 型 XSS 的攻擊步驟:

    1. 攻擊者構造出特殊的 URL,其中包含惡意代碼。
    2. 用戶打開帶有惡意代碼的 URL。
    3. 用戶瀏覽器接收到響應后解析執行,前端 JavaScript 取出 URL 中的惡意代碼并執行。

    DOM 型 XSS 跟前兩種 XSS 的區別:DOM 型 XSS 攻擊中,取出和執行惡意代碼由瀏覽器端完成,屬于前端 JavaScript 自身的安全漏洞,而其他兩種 XSS 都屬于服務端的安全漏洞。

    網絡安全xss
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    網絡安全專家,不是你認為的那種搞破壞的 “黑客”。它在數據流量的幫助下被動識別網絡,收集數據包并檢測非信標和隱藏網絡。Kismet 基本上是一個嗅探器和無線網絡檢測器,可與其他無線網卡配合使用并支持原始監控模式。Intruder 承擔了漏洞管理中的大部分繁重工作,并提供了 9000 多項安全檢查。Metasploit 面向滲透測試,網絡安全專家可針對遠程目標開發和執行漏洞利用代碼。
    網絡安全專家,不是你認為的那種搞破壞的“黑客”。Nmap 基本上是一個網絡安全映射器,能夠發現網絡上的服務和主機,從而創建網絡映射。它在數據流量的幫助下被動識別網絡,收集數據包并檢測非信標和隱藏網絡。Kismet 基本上是一個嗅探器和無線網絡檢測器,可與其他無線網卡配合使用并支持原始監控模式。Intruder 承擔了漏洞管理中的大部分繁重工作,并提供了 9000 多項安全檢查。Metasploit 面向滲透測試,網絡安全專家可針對遠程目標開發和執行漏洞利用代碼。
    Web安全是網絡滲透中很重要的一個組成部分,今天跟大家聊一下,如何在三個月內從零基礎掌握Web安全。
    作為擁有著10年經驗的滲透安全測試工程師,一路也是從小白歷經磨難成長起來的我,給現在的新手小白一些建
    漏洞及滲透練習平臺 數據庫注入練習平臺 花式掃描器 信息搜集工具 WEB工具 windows域滲透工具 漏洞利用及攻擊框架 漏洞POC&EXP 中間人攻擊及釣魚 密碼pj 二進制及代碼分析工具 EXP編寫框架及工具 隱寫相關工具 各類安全資料 各類CTF資源 各類編程資源 Python
    API安全性包括防止網絡攻擊者利用和濫用API的實踐和技術。API攻擊的類型包括:注入攻擊:這種類型的攻擊發生在API沒有正確驗證其輸入時,并允許攻擊者提交惡意代碼作為API請求的一部分。大多數類型的注入攻擊,傳統上針對網站和數據庫,也可以用于API。如果API不正確地處理數據,如果它很容易被欺騙向未經授權的用戶提供數據,并且如果攻擊者設法破壞API服務器,則數據可能會被破壞。
    攻擊路徑是指網絡攻擊者潛入到企業內部網絡應用系統所采取的路徑,換句話說,也就是攻擊者進行攻擊時所采取的相關措施。用戶名和密碼是目前主要的身份驗證形式,很容易被攻擊者通過網絡釣魚、數據泄露和竊取憑據的惡意軟件加以濫用,從而可以輕松訪問應用系統和商業數據。通過了解“攻擊者”的想法,有助于防止網絡安全事件造成的破壞后果和實際影響。
    當我們輸入正確的手機號和正確的短信驗證碼,然后進入重置密碼的最后一步,也就是輸入新的密碼輸入密碼后提交到服務端的post數據包需要包含當前用戶的身份信息。修改響應包重置任意賬號密碼:通過手機找回密碼一般需要短信驗證碼驗證,服務端需要告訴客戶端,輸入的驗證碼是否正確。
    Web Hacking 101 中文版:https://wizardforcel.gitbooks.io/web-hacking-101/content/ 淺入淺出Android安全 中文版:https://wizardforcel.gitbooks.io/asani/content/ Android 滲透測試學習手冊 中文
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类