xss的利用

目錄

一、XSS的原理和分類

二、常見的XSS標簽和屬性

三、Xss漏洞分類

1. 反射性xss

反射性 XSS 典型攻擊場景

基于 URL 參數的反射性 XSS

基于表單參數的反射性 XSS

利用 HTML 標簽屬性的反射性 XSS

2.存儲型XSS

存儲型XSS的高頻攻擊場景

社交平臺評論區

論壇發帖與私信系統

?電商平臺商品描述

3.基于DOM的 XSS

攻擊原理剖析

DOM 型 XSS 典型攻擊場景與案例

基于 URL 參數的 DOM 型 XSS

基于localStorage/sessionStorage的 DOM 型 XSS

一、XSS的原理和分類

跨站腳本攻擊XSS(Cross Site Scripting),為了不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混 淆,故將跨站腳本攻擊縮寫為XSS。惡意攻擊者往Web頁面里插入惡意Script代碼,當用戶瀏覽該頁之 時,嵌入其中Web里面的Script代碼會被執行,從而達到惡意攻擊用戶的目的。XSS攻擊針對的是用戶層 面的攻擊!

二、常見的XSS標簽和屬性

1.直接執行腳本的標簽

<script>alert('1')</script>
<svg onload=alert('1')>
<svg><script>alert(1)</script></svg>

2.利用事件屬性執行腳本?

<img src=x onerror=alert('1')>      
<body onload=alert('1')>           
<iframe onload=alert('1')></iframe>
<input type="text" onfocus=alert('1') autofocus> 

3.?偽協議觸發腳本

<a href="javascript:alert('1')">點擊</a>
<iframe src="javascript:alert('1')"></iframe>
<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4="></object>

三、Xss漏洞分類

1. 反射性xss

反射型XSS 是非持久性、參數型的跨站腳本。反射型XSS JS 代碼在Web 應用的參數(變量)中,如搜 索框的反射型XSS。在搜索框中,提交PoC[scriptalert(/xss/)/script],點擊搜索,即可觸發反射型XSS。 注意到,我們提交的poc 會出現在search.php 頁面的keywords 參數中。

反射性 XSS 典型攻擊場景

基于 URL 參數的反射性 XSS

????????場景:搜索框、商品詳情頁等通過 URL 傳遞參數的功能點。

基于表單參數的反射性 XSS

????????登錄頁、評論表單等 POST 請求參數未過濾的場景。

利用 HTML 標簽屬性的反射性 XSS

????????原理:通過 HTML 標簽屬性(如onclickhrefsrc)觸發腳本執行。

2.存儲型XSS

存儲型XSS 是持久性跨站腳本。持久性體現在XSS 代碼不是在某個參數(變量)中,而是寫進數據庫或 文件等可以永久保存數據的介質中。存儲型XSS 通常發生在留言板等地方。我們在留言板位置留言,將 惡意代碼寫進數據庫中。此時,我們只完成了第一步,將惡意代碼寫入數據庫。因為XSS 使用的JS 代 碼,JS 代碼的運行環境是瀏覽器,所以需要瀏覽器從服務器載入惡意的XSS 代碼,才能真正觸發XSS。 此時,需要我們模擬網站后臺管理員的身份,查看留言。

存儲型XSS的高頻攻擊場景

社交平臺評論區

????????場景:用戶發表評論時,嵌入惡意腳本,后續訪客瀏覽該評論時觸發攻擊。

論壇發帖與私信系統

????????場景:攻擊者發布包含惡意腳本的帖子或私信,受害者訪問時自動執行腳本。

?電商平臺商品描述

????????場景:商家在商品描述中植入惡意腳本,用戶瀏覽商品詳情頁時觸發。

3.基于DOM XSS

DOM XSS 比較特殊。owasp 關于DOM 型號XSS 的定義是基于DOM XSS 是一種XSS 攻擊,其中攻擊 的payload由于修改受害者瀏覽器頁面的DOM 樹而執行的。其特殊的地方就是payload 在瀏覽器本地修改DOM 樹而執行, 并不會傳到服務器上,這也就使得DOM XSS 比較難以檢測。

攻擊原理剖析

1.數據源獲取:
前端 JS 通過location.href、document.URL、localStorage等方式獲取用戶可控數據(如 URL 參數、Cookie)。
2.DOM 動態操作
JS 使用innerHTML、outerHTML、document.write()等危險 API,將未過濾的數據源直接寫入 DOM。
3.腳本執行:
瀏覽器解析 DOM 時,執行嵌入的惡意腳本。

DOM 型 XSS 典型攻擊場景與案例

基于 URL 參數的 DOM 型 XSS

????????場景:前端通過 URL 參數動態更新頁面內容(如單頁應用路由、個性化參數)。

????????????????漏洞代碼(JavaScript):

// 錯誤示例:使用innerHTML直接渲染URL參數
function renderPage() {const hash = window.location.hash.slice(1); // 獲取#后的參數document.getElementById('content').innerHTML = '<h1>' + hash + '</h1>';
}
window.onload = renderPage;

? ? ? ? ? ? ? ??惡意 URL:

http://example.com/#<script>alert('1');</script>

????????????????攻擊效果:

????????????????????????頁面加載時,hash參數被寫入innerHTML,觸發腳本執行。

基于localStorage/sessionStorage的 DOM 型 XSS

????????場景:前端從本地存儲中讀取用戶數據并渲染。

????????????????漏洞代碼(JavaScript):

// 錯誤示例:從localStorage獲取數據并渲染
const username = localStorage.getItem('username');
document.getElementById('welcome').innerHTML = `歡迎你,${username}!`;

????????????????攻擊步驟:

? ? ? ? ? ? ? ? ? ? ? ? 1、攻擊者誘導用戶訪問惡意頁面,執行:

localStorage.setItem('username', '<script>alert("XSS");</script>');

? ? ? ? ? ? ? ? ? ? ? ? 2、用戶訪問目標網站時,前端讀取并渲染惡意內容。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/91811.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/91811.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/91811.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

開源Docmost知識庫管理工具

Docmost知識庫管理工具Docmost是什么核心功能安裝應用報錯鏡像拉取報錯使用Docmost是什么 Docmost 是一個開源的協作 wiki 和文檔軟件。它是 Confluence 和 Notion 的開源替代方案。 核心功能 主開發語言&#xff1a;主要使用 TypeScript 開發&#xff08;性能好&#xff0c;擴…

Elastic Search 8.x 分片和常見性能優化

目錄索引分片寫入原理概念索引寫入流程常見性能優化背景常見性能優化硬件資源優化分片和副本優化索引分片寫入原理 概念 分片&#xff08;shard&#xff09; 分片是將索引數據分割成更小的、可分布式存儲和處理的單元每個索引都由一個或多個分片組成&#xff0c;每個分片都是一…

Java+Vue搭建資產設備全生命周期管理系統,移動端隨時操作,后臺管理高效精準,覆蓋資產全周期,提供完整源碼

前言&#xff1a;在當今企業運營中&#xff0c;資產設備作為重要的生產要素&#xff0c;其高效管理和合理利用直接關系到企業的生產效率、成本控制和競爭力。資產設備全生命周期管理涵蓋了從設備的采購規劃、采購實施、入庫存儲、使用維護到報廢處置的整個過程。為了實現對資產…

Vue rem回顧

Vue 漸進式JavaScript 框架 基于Vue2的學習筆記 - Vue rem回顧&#xff08;初學者簡單筆記&#xff09; 目錄 rem回顧 移動端適配 等比例縮放 下載插件 總結 rem回顧 實現自適應的rem布局。 通過把屏幕劃分成幾個等份&#xff0c;作為html字體的大小&#xff0c;當設備變…

C#語法基礎總結(超級全面)(二)

文章目錄c#語法基本元素關鍵字操作符&#xff08;operator&#xff09;類型轉換標識符&#xff08;Identifier&#xff09;語句try語句迭代語句&#xff08;循環語句&#xff09;索引器文本&#xff08;字面值&#xff09;五大數據類型引用類型&#xff1a;值類型&#xff1a;變…

MyBatis分頁神器PageHelper深度解析

PageHelper 是一個優秀的 MyBatis 分頁插件&#xff0c;它通過簡單的攔截器機制&#xff0c;實現了對 MyBatis 查詢的物理分頁&#xff08;而非內存分頁&#xff09;&#xff0c;極大簡化了分頁代碼的編寫。而 PageHelper 擴展 通常指的是在其核心功能基礎上&#xff0c;為特定…

【2025/07/19】GitHub 今日熱門項目

GitHub 今日熱門項目 &#x1f680; 每日精選優質開源項目 | 發現優質開源項目&#xff0c;跟上技術發展趨勢 &#x1f4cb; 報告概覽 &#x1f4ca; 統計項&#x1f4c8; 數值&#x1f4dd; 說明&#x1f4c5; 報告日期2025-07-19 (周六)GitHub Trending 每日快照&#x1f55…

【數據結構】二叉樹初階詳解(一):樹與二叉樹基礎 + 堆結構全解析

文章目錄&#x1f4dd;前言&#x1f320;樹的概念和結構&#x1f309;樹的概念&#x1f309;樹的相關概念&#x1f309;樹的表示&#x1f320;二叉樹概念及結構&#x1f309;二叉樹的概念&#x1f309;特殊的二叉樹&#x1f309;二叉樹的性質&#x1f320;二叉樹順序結構及實現…

Flutter基礎(前端教程①⑤-API請求轉化為模型列成列表展示實戰)

models/post_model.dart定義 Post 數據模型包含 fromJson() 方法用于解析 JSONcontrollers/post_controller.dart管理帖子數據的獲取和狀態使用 http 包請求 API通過 RxList 和 RxBool 實現響應式狀態管理views/post_list_view.dart展示帖子列表的 UI使用 Obx 監聽狀態變化包含…

第十五屆全國大學生數學競賽初賽試題(非數學專業類A卷)

第十五屆全國大學生數學競賽初賽試題(非數學專業類A卷) 文章目錄第十五屆全國大學生數學競賽初賽試題(非數學專業類A卷)題目速覽逐題詳解題目速覽 求極限&#xff1a; lim?x→3x39?62?x3?23.\lim\limits_{x \to 3} \frac{\sqrt{x^3 9} - 6}{2 - \sqrt{x^3 - 23}} \rule{2…

ROS1/Linux——Ubuntu、ROS1虛擬機環境配置

ROS1/Linux——Ubuntu、ROS1虛擬機環境配置 文章目錄ROS1/Linux——Ubuntu、ROS1虛擬機環境配置編輯時間&#xff1a;系統環境Linux鏡像下載Ubuntu相關鏈接iso鏡像下載VMware操作虛擬機安裝步驟基礎設置設置語言設置窗口分辨率、圖標大小等終端固定在左側欄顯示隱藏文件夾其他問…

萬字解析LVS集群

一、集群和分布式介紹1.1、誕生的原因單臺設備 “又貴又弱又容易掛”&#xff0c;扛不住現代業務的 “海量訪問、海量數據、復雜計算”&#xff1b;集群 / 分布式讓多臺設備 “抱團干活”&#xff0c;分擔壓力&#xff08;流量、存儲、計算&#xff09;&#xff0c;還能 “壞了…

關于博客后續內容會以xmind內容轉markdown格式來呈現

自己感覺不正確的地方 一直感覺學啥東西記到博客里&#xff0c;這樣就方便后續回顧或者查找 但csdn貌似不適合全局搜索&#xff0c;也就是我居然先要知道我對應的模糊點對應到哪篇文章&#xff0c;然后再到那篇文章里找&#xff0c;簡直麻煩死了&#xff0c;而且另外一個毛病是…

Python - 數據分析三劍客之Pandas

閱讀前可參考NumPy文章 https://blog.csdn.net/MinggeQingchun/article/details/148253682https://blog.csdn.net/MinggeQingchun/article/details/148253682 ?Pandas是Python中一個強大的開源數據分析庫&#xff0c;專門用于處理結構化數據&#xff08;如表格、時間序列等&…

深度解析:Python實戰京東資產拍賣平臺爬蟲,從ID抓取到詳情數據落地

深度解析:Python實戰京東資產拍賣平臺爬蟲,從ID抓取到詳情數據落地 對爬蟲、逆向感興趣的同學可以查看文章,一對一小班教學(系統理論和實戰教程)、提供接單兼職渠道:https://blog.csdn.net/weixin_35770067/article/details/142514698 文章目錄 深度解析:Python實戰京東…

ServletConfig 接口詳解

ServletConfig 接口詳解 1. 核心概念 ServletConfig 是 Servlet 規范中定義的核心接口&#xff0c;用于在 Servlet 初始化階段向 Servlet 傳遞配置信息。每個 Servlet 都有自己獨立的 ServletConfig 對象。 2. 關鍵特性特性說明唯一性每個 Servlet 實例擁有獨立的 ServletConfi…

Maven學習總結(62)—— Maven 打包瘦身和提速解決方案

臃腫的 Maven 項目 在 Java 項目開發中,Maven 作為強大的項目管理和構建工具,極大地簡化了依賴管理和項目構建過程。但隨著項目的不斷演進,依賴的 Jar 包越來越多,我們的 Maven 項目也逐漸變得臃腫不堪。曾經,我參與維護一個大型的 Spring Boot 項目,隨著業務功能的不斷…

【Qt開發】Qt的背景介紹(三)-> 認識Qt Creator

目錄 1 -> Qt Creator概覽 2 -> 使用Qt Creator創建項目 2.1 -> 新建項目 2.2 -> 選擇項目模板 2.3 -> 選擇項目路徑 2.4 -> 選擇構建系統 2.5 -> 填寫類信息設置界面 2.6 -> 選擇語言和翻譯文件 2.7 -> 選擇Qt套件 2.8 -> 選擇版本控…

HTML5中的自定義屬性

自定義屬性&#xff08;Custom Attributes&#xff09; 允許在標準 HTML 屬性之外&#xff0c;為元素添加額外的元數據&#xff08;metadata&#xff09;。 1. 標準方式&#xff1a;data-* 屬性 HTML5 引入了 data-* 前綴的自定義屬性規范&#xff0c;所有以 data- 開頭的屬性都…

前端項目利用Gitlab CI/CD流水線自動化打包、部署云服務

疊甲前言 本文僅作為個人學習GitLab的CI/CD功能記錄&#xff0c;不適合作為專業性指導&#xff0c;如有紕漏&#xff0c;煩請君指正。 Gitlab的CI/CD做什么用的 自工作以來&#xff0c;去過大大小小公司&#xff0c;有一些公司技術人員專業性欠佳&#xff0c;每當產品經理或…