pikachu靶場 :二、XSS 跨站腳本攻擊

XSS(跨站腳本)概述

Cross-Site Scripting 簡稱爲“CSS”,爲避免與前端疊成樣式表的縮寫"CSS"衝突,故又稱XSS。
一般XSS可以分爲如下幾種常見類型:

  1. 反射性XSS;
  2. 存儲型XSS;
  3. DOM型XSS;

XSS漏洞一直被評估爲web漏洞中危害較大的漏洞,在OWASP TOP10的排名中一直屬於前三的江湖地位。
XSS是一種發生在前端瀏覽器端的漏洞,所以其危害的對象也是前端用戶。
形成XSS漏洞的主要原因是程序對輸入和輸出沒有做合適的處理,導致“精心構造”的字符輸出在前端時被瀏覽器當作有效代碼解析執行從而產生危害。

因此在XSS漏洞的防範上,一般會採用“對輸入進行過濾”和“輸出進行轉義”的方式進行處理:

輸入過濾:對輸入進行過濾,不允許可能導致XSS攻擊的字符輸入;
輸出轉義:根據輸出點的位置對輸出到前端的內容進行適當轉義;

反射型xss

get傳參

頁面輸入kobe,有返回,所構造出的鏈接如下,可見是get形式傳參。

https://www.bihuoedu.com/vul/xss/xss_reflected_get.php?message=kobe&submit=submit

在這裏插入圖片描述
將鏈接中的kobe參數改爲xss代碼,如下,成功彈窗。

https://www.bihuoedu.com/vul/xss/xss_reflected_get.php?message=<script>alert(document.cookie)</script>&submit=submit

在這裏插入圖片描述

post傳參

先登錄,具有登錄的cookie,再輸入kobe,發現鏈接沒有變化,所以不再是get傳參而是post傳參。
在這裏插入圖片描述
在這裏插入圖片描述
直接在搜索框里加入xss代碼,如果有限制,可以更改html參數或者抓包進行修改繞過。

<script>alert(document.cookie)</script>

是可以得到登錄人的cookie的。
在這裏插入圖片描述

存儲型xss

在留言板上留下xss代碼,發表留言,代碼將插入數據庫中,
代碼將長期留在這個頁面,除非管理員刪除該留言,
只要有人訪問這個頁面,就會執行代碼。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

DOM型xss

初步觀察,點擊 click me! 後會出現 what do you see? 的鏈接按鈕,其指向是當前目錄/you_input,審查元素時發現onclick後會執行函數 domxss() ,其作用是讀取input的值並將其拼接到新創建的link節點中,源碼如下:

function domxss(){
	var str = document.getElementById("text").value;
	document.getElementById("dom").innerHTML = "<a href='"+str+"'>what do you see?</a>";
}
	//試試:'><img src="#" onmouseover="alert('xss')">
	//試試:' οnclick="alert('xss')">,閉合掉就行

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

發佈了198 篇原創文章 · 獲贊 27 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章