DVWA XSS Stored 通關教程

2022-06-30 23:15:14 字數 1594 閱讀 4516

stored cross site scripting

儲存型xss,持久化,**是儲存在伺服器中的,如在個人資訊或發表文章等地方,加入**,如果沒有過濾或過濾不嚴,那麼這些**將儲存到伺服器中,使用者訪問該頁面的時候觸發**執行。這種xss比較危險,容易造成蠕蟲,盜竊cookie等。

low security level

dvwa xss (stored) 通關教程

stored cross site scripting

儲存型xss,持久化,**是儲存在伺服器中的,如在個人資訊或發表文章等地方,加入**,如果沒有過濾或過濾不嚴,那麼這些**將儲存到伺服器中,使用者訪問該頁面的時候觸發**執行。這種xss比較危險,容易造成蠕蟲,盜竊cookie等。

low security level

<?php

if( isset( $_post[ 'btnsign'] ) )

?>

相關函式介紹

trim(string,charlist)

函式移除字串兩側的空白字元或其他預定義字元,預定義字元包括\0、\t、\n、\x0b、\r以及空格,可選引數charlist支援新增額外需要刪除的字元。

mysqli_real_escape_string(string,connection)
函式會對字串中的特殊符號(\x00,\n,\r,\,',",\x1a)進行轉義。

stripslashes(string)
函式刪除字串中的反斜槓。

可以看到,對輸入並沒有做xss方面的過濾與檢查,且儲存在資料庫中,因此這裡存在明顯的儲存型xss漏洞。

exploit

message欄的利用:

輸入,成功彈框:

name欄的利用:

發現前端html中對name有字數長度限制:

burpsuite抓包改為:

forward後,成功彈窗:

medium security level

<?php 

if( isset( $_post[ 'btnsign'] ) )

?>

可以看到,這裡使用正規表示式過濾了標籤,但是卻忽略了img、iframe等其它危險的標籤,因此name引數依舊存在儲存型xss。

exploit

burpsuite抓包改name引數為

:forward後,成功彈窗:

impossible security level

<?php

if( isset( $_post[ 'btnsign'] ) )

//generate anti-csrf token

generatesessiontoken();

?>

可以看到,通過使用htmlspecialchars函式將幾種特殊字元轉義為html實體,mysqli_real_escape_string函式對單引號'轉義,防止進行sql注入,徹底防治了儲存型 xss 的利用和危害。

通關PAT留念

時隔一年了,上次成功考pat是去年的三月,記得是和wtq還有zzt等人一塊去的,記得同考場還有hdu大佬。今天再次參加了pat,當然是奔著頂級去的,12點半和同學xiang578一塊,騎著小黃車就去了,地點是傳媒。然後,到了,等了一會考試就開始了,尼瑪這個考場就我乙個考top的,尷尬。左邊的小兄弟考...

Spring Boot面試通關

aop是spring面試經常問的面試題,很多人都卡在這裡,我使用簡單的三個步驟講解aop,更方便記憶 1.1建立 物件 相關類 1 abstractautowirecapablebeanfactory 2 abstractautoproxycreator 3 abstractadvisorautop...

DVWA XSS DOM 通關教程

dom,全稱document object model,是乙個平台和語言都中立的介面,可以使程式和指令碼能夠動態訪問和更新文件的內容 結構以及樣式。dom型xss其實是一種特殊型別的反射型xss,它是基於dom文件物件模型的一種漏洞。在 頁面中有許多頁面的元素,當頁面到達瀏覽器時瀏覽器會為頁面建立乙...