天天看點

可别小看了XSS漏洞

可别小看了XSS漏洞

可别小看了XSS漏洞

可别小看了XSS漏洞

​ 對于初了解xss漏洞的人來說,XSS漏洞的危害就是擷取受害者的cookie,來進行 ‘cookie劫持’。

​ 今天就總結一下XSS漏洞的危害性,望安全人員不要輕視,開發人員不要忽視

XSS漏洞簡介

​ XSS攻擊通常指黑客通過“HTML注入”篡改網頁,插入惡意腳本,進而使使用者浏覽網頁時控制使用者浏覽器的一種攻擊。

​ 例如:

<p>a</p>
           

​ 如果我能控制a,将a改為

</p><script>alert("1")</script><p>

,這個地方的代碼就會變成這樣:

<p></p>
      <script>alert("1")</script>
      <p></p>
           

就會執行script腳本,這麼想我們是不是能篡改網頁html檔案,來讓他執行我們的語句?

第一 cookie劫持:

​ 如果網站存在XSS漏洞,可以通過XSS漏洞來擷取使用者的cookie

​ 危害:利用使用者的cookie來進行登入使用者背景

​ payload:

<script>alert(document.cookie)</script>

第二 構造GET或POST請求:

​ 黑客可以通過XSS漏洞,來使得使用者執行GET或POST請求

​ 危害:可以控制使用者删除資料或者發送郵件

​ 例如GET payload:

<script>window.location.href='http://http://www.xxx.com/index.php?type=delete&id=1';</script>
           

​ POST請求 需要線建立一個表單,然後讓表單自動送出資訊。

第三 釣魚

​ 我們從一開始的XSS漏洞簡介可知道,XSS漏洞可以讓我們對網頁進行篡改,如果黑客在登入框的地方把原來的登入框隐藏一下,自己僞造一個登入框,使用者在登入框上輸入賬号密碼就會傳送到黑客的伺服器上

​ 危害:擷取使用者賬号密碼

第四 識别使用者浏覽器

​ 通過script語句能獲得使用者的浏覽器資訊

​ 危害:擷取浏覽器資訊,利用浏覽器漏洞進行攻擊

​ payload:

<script>alert(navigator.userAgent)</script>

可别小看了XSS漏洞

第五 識别使用者安裝的軟體

​ 通過script語句能夠識别使用者安裝的軟體

​ 危害:擷取使用者軟體資訊,利用軟體漏洞進行攻擊

​ 如下代碼:

try{
     var Obj=new ActiveXObject('XunLeiBHO.ThunderIEhelper');
 }
     catch(e){
         //異常
     }
           

第六 獲得使用者真實ip位址

​ 借助第三方軟體,比如用戶端安裝了Java(JRE)環境,那麼可以通過調用JavaApplet接口擷取用戶端本地IP

第七 判斷使用者是否通路某個網站

​ style的visited屬性,通路過的連結,顔色會變化.

第八 蠕蟲

​ 使用者之間發生互動行為的頁面,如果存在存儲型XSS,則容易發起XSS Worm攻擊.

​ 如:2003年的沖擊波蠕蟲,利用的是Windows的RPC遠端溢出漏洞

​ 還有百度空間蠕蟲,可自行百度搜一下

XSS繞過方式

  • JS編碼
  • HTML編碼
  • URL編碼
  • 長度繞過
  • 标簽繞過(标簽閉合,标簽優先性)
  • window.name利用
  • Flash XSS
  • 利用Javascript開發架構漏洞
  • 利用浏覽器差異
  • 關鍵字、函數

XSS防護方法

  • 過濾輸入的資料,非法字元
  • 對資料進行編碼轉換
  • 添加HttpOnly
  • 輸入合法性檢查
  • 白名單過濾标簽
  • DOM XSS防禦