DVWA Vulnerability: Reflected Cross Site Scripting (XSS)

Low:

既然是xss形式的漏洞,話不多說,直接在輸入框上傳<script>alert(「xss」)</script>

成功彈出xss提示框:

我們打開源代碼,分析一下源代碼。

GET到參數之後沒有對參數進行任何處理,直接傳遞,以html形式呈現出來,所以直接執行JavaScript代碼,從而顯示出xss彈出框。

Middle:

方法1:

同樣傳入參數:<script>alert("xss")</script>得到以上的顯示。可以通過下面返回的信息看出我們代碼的一部分被過濾掉了,查看源代碼。

當GET到參數後,$name被做了更改然後重新傳給了name變數,之前上傳的參數中的<script>被移除掉所以導致JavaScript代碼不完整,不能彈出提示框。

對之前的代碼稍作修改構建語句:<scr<scripy>ipt>alert("xss")</script>

通過這樣構建語句,當<scr<scripy>ipt>中完整的<script>被過濾掉,剩下的部分又重新構成了<script>從而使JavaScript代碼完整,彈出提示框。

方法2:既然通過源代碼我們知道,他是先查詢參數中的<script>,然後它移除掉再重新賦值給name,我們可通過不區分大小寫這個放方法來傳入參數,達到繞過的目的提交參數:<ScripT>alert(「xss」)</script>

成功彈出提示框。

High:

同樣先傳入參數:<script>alert("xss")</script>得到以下顯示:

通過下方的提示同樣可以看出我們的代碼被過濾掉了一部分。查看源代碼分析原因:

可以看到,當參數傳入的時候,被正則表達式強行移除<script>這個標籤,所以,可以看出<script>是完全不可以用的。所以我們換一個思路使用<img src=1 onerror=alert(/xss/)>這個姿勢繞過,其中img為圖片標籤,src為地址,此處為內容onerror為提示,方法為彈出,arc中內容,為xss。

成功彈出提示框。

Impossible,敬請期待。。。。


推薦閱讀:

[漏洞復現] CVE-2018-4878 Flash 0day
[漏洞復現] CVE-2017-16995 Ubuntu16.04
滲透筆記(一):信息收集與弱口令的危害!!
怎麼成為一個合格的滲透測試人員?

TAG:滲透測試 | 網路安全 | 網路滲透 |