[TOC]
## 一、 xss基礎和分類
### 1 XSS的危害:
攻擊者可以使用戶在**瀏覽器中**執行其預定義的**惡意腳本**,其導致的危害**可想而知**,如劫持用戶會話,插入**惡意內容**、重定向用戶、使用惡意軟件劫持用戶瀏覽器、繁殖XSS蠕蟲,甚至破壞網站、修改路由器配置信息等。
>XSS 存在的**根本原因**是,對URL中的參數,對用戶輸入提交給 webserve r的內容,**沒有**進行充分的**過濾**。如果我們能夠在 web 程序中,對用戶提交的URL中的參數,和提交的所有內容,進行**充分的過濾**,將所有的不合法的參數和輸入內容過濾掉,那么就**不會導致**“在用戶的瀏覽器中執行**攻擊者**自己定制的**腳本**”。
但是,其實**充分而完全的過濾**,實際上是**無法實現**的。因為攻擊者有各種各樣的神奇的,你完全想象不到的方式來**繞過服務器**端的過濾,最典型的就是對URL和參數進行各種的編碼,比如escape,encodeURI, encodeURIComponent, 16進制,10進制,8進制,來**繞過XSS過濾**。
### 2 XSS的原理:
HTML是一種超文本標記語言,通過將一些字符特殊地對待來區別文本和標記,例如,小于符號(<)被看作是HTML標簽的開始,之間的字符是頁面的標題等等。當動態頁面中插入的內容含有這些特殊字符(如<)時,用戶瀏覽器會將其誤認為是插入了HTML標簽,當這些HTML標簽引入了一段JavaScript腳本時,這些腳本程序就將會在用戶瀏覽器中執行。**所以**,**當這些特殊字符不能被動態頁面檢查或檢查出現失誤時,就將會產生XSS漏洞。**
總結后為三點。
> **①攻擊者對含有漏洞的服務器發起XSS攻擊(注入JS代碼)。**
> **②誘使受害者打開受到攻擊的服務器URL。**
> **③受害者在Web瀏覽器中打開URL,惡意腳本執行。**
### 2 xss分類
1. 反射型(非持久):最普遍的類型。用戶訪問服務器-跨站鏈接-返回跨站代碼。
就是利用get請求,往網頁的url中加入特定的參數,欺騙用戶執行這個url,后端服務器接收到惡意參數后,給前端用戶反應惡意數據
2. 存儲型(持久型):最直接的危害類型,跨站代碼存儲在服務器(數據庫)
通過使用網頁的提交功能(如留言板),將代碼寫入到后端文件或數據庫中。
別的用戶訪問頁面時,服務器返回的數據中就包含這些惡意代碼
3. DOM型:客戶端腳本處理邏輯導致的安全問題。
類似反射型,也是構造惡意url參數,但由瀏覽器直接執行js,可以脫離后端服務器
## 二、XSS的攻擊方式:
### 1、常用的XSS攻擊手段和目的有:
> **①**盜用cookie,獲取敏感信息。
> **②**利用植入 Flash,通過 crossdomain 權限設置進一步獲取更高權限;或者利用 Java 等得到類似的操作。
> **③**利用 iframe、frame、XMLHttpRequest 或 Flash 等方式,以(被攻擊)用戶的身份執行一些管理動作,或執行一些一般的如發微博、加好友、發私信等操作。
> **④**利用可被攻擊的域受到其他域信任的特點,以受信任來源的身份請求一些平時不允許的操作,如進行不當的投票活動。
> **⑤**在訪問量極大的一些頁面上的XSS可以攻擊一些小型網站,實現DDoS攻擊的效果。
> **⑥**xss釣魚網站,利用JavaScript腳本直接放用戶跳轉到釣魚網站
> **⑦**xss獲取鍵盤記錄,xss可以實現鍵盤操作,但是有局限性,不能跨域。
### 2、XSS之存儲型
**存儲型 XSS 的攻擊步驟:**
> **①**攻擊者將惡意代碼提交到目標網站的數據庫中。
> **②**用戶打開目標網站時,網站服務端將惡意代碼從數據庫取出,拼接在 HTML 中返回給瀏覽器。
> **③**用戶瀏覽器接收到響應后解析執行,混在其中的惡意代碼也被執行。
存儲型 XSS攻擊常見于帶有用戶保存數據的網站功能,如論壇發帖、商品評論、用戶私信等。
儲存型XSS會把用戶輸入的數據“儲存”在服務器端。這種XSS具有很強的穩定性。持久的XSS危害性大,容易造成蠕蟲,因為每當用戶打開頁面,查看內容時腳本將自動執行。持久型XSS最大的危害在于可能在一個系統中的用戶間互相感染,以致整個系統的用戶淪陷。能夠造成這種危害的腳本我們稱之為XSS蠕蟲。
### 3、XSS之反射型
**反射型 XSS 的攻擊步驟:**
> **①**攻擊者構造出包含惡意代碼的 URL,通過各種辦法發送給終端用戶(**釣魚**)。
> **②**用戶打開帶有惡意代碼的 URL 時,網站服務端將惡意代碼從 URL 中取出,拼接在 HTML 中返回給瀏覽器。
> **③**用戶瀏覽器接收到響應后解析執行,混在其中的惡意代碼也被執行。
反射型 XSS漏洞常見于通過 URL 傳遞參數的功能,如網站搜索、跳轉等。
反射型XSS只是簡單的把用戶輸入的數據“反射”給瀏覽器,也就是說需要誘使用戶“點擊”一個惡意鏈接,才能攻擊成功。漏洞產生的原因是攻擊者注入的數據反映在響應中。非持久型XSS攻擊要求用戶訪問一個被攻擊者篡改后的鏈接,用戶訪問該鏈接時,被植入的攻擊腳本被用戶游覽器執行,從而達到攻擊目的。
### 4、XSS之DOM型
**DOM 型 XSS 的攻擊步驟:**
> **①**攻擊者構造出特殊的 URL,其中包含惡意代碼。
> **②**用戶打開帶有惡意代碼的 URL。
> **③**用戶瀏覽器接收到響應后解析執行,前端 JavaScript 取出 URL 中的惡意代碼并執行。
DOM 型 XSS 跟前兩種 XSS 的區別:DOM 型 XSS 攻擊中,取出和執行惡意代碼由瀏覽器端完成,屬于前端 JavaScript 自身的安全漏洞,而其他兩種 XSS 都屬于服務端的安全漏洞。
DOM通常代表在html、xhtml和xml中的對象,使用DOM可以允許程序和腳本動態的訪問和更新文檔的內容、結構和樣式。它不需要服務器解析響應的直接參與,觸發XSS靠的是瀏覽器端的DOM解析,所以防范DOM型XSS完全就是前端的責任,必須注意!!!。
- src導航站
- kali和msf
- 信息收集
- 收集域名信息
- Whois 查詢
- 備案信息查詢
- 信用信息查詢
- IP反查站點的站
- 瀏覽器插件
- 收集子域名信息
- 在線平臺
- 工具枚舉
- ssl與證書透明度
- DNS歷史解析
- DNS域傳送漏洞
- C段探測
- JS文件域名&ip探測
- 搜索引擎&情報社區
- google黑客
- 威脅情報
- 鐘馗之眼
- 收集相關應用信息
- 微信公眾號&微博
- APP收集&反編譯
- 收集常用端口信息
- 常見端口&解析&總結
- 掃描工具
- 網絡空間引擎搜索
- 瀏覽器插件
- nmap掃描
- 收集敏感信息
- 源碼泄露
- 郵箱信息收集
- 備份文件泄露
- 目錄&后臺掃描
- 公網網盤
- 歷史資產
- 指紋&WAF&CDN識別
- 指紋識別
- CDN識別
- 繞過CDN查找真實IP
- WAF識別
- 漏洞資源和社工
- 漏洞公共資源庫
- 社會工程
- 資產梳理
- 各種對滲透有幫助的平臺
- 掃描器
- 掃描器對比
- AppScan(IBM)_web和系統
- AWVS_web掃描
- X-Scan_系統掃描
- WebInspect_HP_WEB
- Netsparker_web
- WVSS_綠盟_web
- 安恒明鑒
- Nessus_系統
- nexpose_系統
- 啟明天鏡_web_系統
- SQL注入
- 常用函數
- sql注入步驟
- union注入和information_schema庫
- 函數和報錯注入
- SQL盲注
- 其他注入方式
- 防止SQL注入解決方案
- Access數據庫注入
- MSSQL數據庫注入
- MYSQL數據庫注入
- 神器SQLmap
- xss跨站腳本攻擊
- xss原理和分類
- xss案例和修復
- xss繞過技巧
- xss案例
- 文件上傳下載包含
- 常有用文件路徑
- 文件上傳漏洞
- 文件下載漏洞
- 文件包含漏洞
- upload-labs上傳漏洞練習
- XXE、SSRF、CSRF
- SSRF原理基礎
- SSRF案例實戰
- CSRF原理基礎
- CSRF案例及防范
- XXE之XML_DTD基礎
- XXE之payload與修復
- XXE結合SSRF
- 遠程命令執行與反序列化
- 遠程命令和代碼執行漏洞
- 反序列化漏洞
- 驗證碼與暴力破解
- 爆破與驗證碼原理
- CS架構暴力破解
- BS架構暴力破解
- WEB編輯器漏洞
- 編輯器漏洞基礎
- Ewebeditor編輯器
- FCKeditor編輯器
- 其他編輯器
- web中間件漏洞
- 中間件解析漏洞
- Tomcat常見的漏洞總結
- Jboss漏洞利用總結
- Weblogic漏洞利用總結
- WEB具體步驟
- 旁注和越權
- CDN繞過
- 越權與邏輯漏洞
- WEB應用常見其他漏洞
- WEB登陸頁面滲透思路
- 獲取WEBshell思路
- 社工、釣魚、apt
- 社工和信息收集
- 域名欺騙
- 釣魚郵件
- 一些釣魚用的掛馬工具
- 代碼審計
- 代碼審計工具
- WAF繞過
- WAF基礎及云WAF
- 各種WAF繞過方法
- 繞過WAF上傳文件
- 系統提權
- windows系統提權
- linux系統提權
- 數據庫提權操作系統
- 內網橫向滲透
- 內網穿透方式
- 一些內網第三方應用提權
- ARP與DOS
- ARP欺騙
- DOS與DDOS
- 一些DOS工具