DVWA --- xss存儲型攻略詳解(適合新手)


Low

我們直接查看源碼

對Low型源碼中部分函數解釋

trim()移除字符串兩側的空白字符或其他預定義字符\t,\n,\x0b,\r,空格
tripslashes(string)函數去除反斜杠 \ mysqli_real_escape_string(connection,escapestring)轉義在SQL語句中使用的字符串中的特殊字符。
$GLOBALS:引用全局作用域中可用的全部變量。

我們可以從上文中看出,低級的xss存儲型,是沒有對<script>進行過濾的

接下來我們直接進行彈窗測試。

輸入   <script>alert('xss')</script>

 點sign guestbook提交之后完成彈窗,如下圖所示

Medium

查看源碼

   str_replace( '<script>', '', $name );過濾小寫的<script>

    htmlspecialchars() 函數,把預定義的字符 "<" (小於)和 ">" (大於)轉換為 HTML 實體:

 我們使用Burp Suite抓包改包實現彈窗

 抓包准備

  設置瀏覽器代理

 Burp Suite設置

 接下來我門清除一下DVWA設置

因為源碼里面有htmlspecialchars() 函數,我們采用抓包改包繞過。

我們隨便輸入一些字符,因為我們要去抓包來修改,所以這里輸入什么都不影響。

 這個時候不要點提交,返回Busp Suite,依次點擊,直到開啟攔截請求

 截取成功

在數據傳輸過程中會進行URL編碼的轉換,我們在Burp Suite里進行編碼轉換。

注意:我們需要轉換的編碼是   <SCRIPT>alert('1')</SCRIPT>  ,因為源碼里有$name = str_replace( '<script>', '', $name );---把小寫的<script>替換為空字符串。我們采用大寫=繞過

把下圖標識為1的部分替換,替換完成后點擊放包

完成彈窗

 完成彈窗之后,記得把Burp Suite的攔截禁用關掉。方便后續操作。

High

我們查看源碼,可以發現,相比前面的medium,只是加上了對<script>關鍵字的限制

$name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $name );  ---  將$name變量(我們輸入的Name文本框部分)中包含有script(i:不限制大小寫)進行替換為空字符。

我們同樣采用抓包改包繞過。---既然限制了script關鍵字的輸入,我們可以采用別的彈窗方式  <img src=x onerror=alert('123')>  

記得在提交之前,開啟攔截請求。

 

 

 攔截成功

 

 將1122替換為<img src=x onerror=alert('123')>

 

 完成彈窗

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM