bWAPP學(xué)習(xí)筆記 - A3 Cross-Site Scripting (XSS)

XSS - Reflected (GET)

Level:Low

沒有任何過濾措施的XXS
任意腳本都可以
<script>alert(1)</script>

Level:Medium

源碼中使用了addslashes()函數(shù)來進行過濾

Level:High

源碼中使用了htmlspecialchars()函數(shù)來進行過濾


XSS - Reflected (POST)

與上面的GET方法一樣。


XSS - Reflected (JSON)

Level:Low

本題中json是在客戶端解析,需要做的就是重新拼合json內(nèi)容
payload: 1"}]' ; alert(1) //

原始內(nèi)容:


拼合后內(nèi)容:


Level:Medium / High

加入了htmlspecialchars()函數(shù)


XSS - Reflected (AJAX/JSON)

Level:Low / Medium

通過AJAX調(diào)用了 xss_ajax_2-2.php?title=的返回
所以2種玩法:

  1. 在頁面內(nèi)直接輸入XSSPayload即可
  2. xss_ajax_2-2.php?title=頁面也可以直接輸入Payload
Level: High

源碼中加入了JSON.parse()函數(shù)進行了過濾處理

JSONResponse = JSON.parse(xmlHttp.responseText);

XSS - Reflected (AJAX/XML)

Level:Low

本題最關(guān)鍵的在于了解 HTML的轉(zhuǎn)義作用
Payload: &lt;img src=0 onerror=&quot;alert(1)&quot;&gt;

Level:Medium

源碼中使用了addslashes()函數(shù)來進行過濾,因為有轉(zhuǎn)義,所以該函數(shù)無效。
Payload: &lt;img src=0 onerror=&quot;alert(1)&quot;&gt; 依然可用

Level:High

源碼中使用了htmlspecialchars()函數(shù)來進行過濾


XSS - Reflected (Back Button)

Level:Low

本題關(guān)鍵點在 HTTP 頭部的 Referer
通過網(wǎng)頁源文件查看,onClick引用的是 Referer 的值


通過Burp Sutie修改 Referer 的值,以此來達到XSS的目的
Payload:'"><img src=a.png onerror=alert(/xss/)>

Level:Medium

源碼中使用了addslashes()函數(shù)來進行過濾,因為有轉(zhuǎn)義,所以該函數(shù)無效。

Level:High

源碼中使用了htmlspecialchars()函數(shù)來進行過濾


XSS - Reflected (Custom Header)

Level:Low

本題需要在HTTP的頭部加入'bWAPP字段即可 Palyload: bWAPP: <script>alert(1)</script> `

Level:Medium

源碼中使用了addslashes()函數(shù)來進行過濾,因為有轉(zhuǎn)義,所以該函數(shù)無效。

Level:High

源碼中使用了htmlspecialchars()函數(shù)來進行過濾


XSS - Reflected (Eval)

Level:Low

通過GET類型傳遞javascript函數(shù)
Data()函數(shù)改為alert(1)即可

Level:Medium

源碼中使用了addslashes()函數(shù)來進行過濾,因為有轉(zhuǎn)義,所以該函數(shù)無效。

Level:High

源碼中使用了htmlspecialchars()函數(shù)來進行過濾


XSS - Reflected (HREF)

Level:Low

可以發(fā)現(xiàn)name的值直接傳遞到了 <a>href參數(shù)中
構(gòu)造Payload閉合<a>標簽,然后加入XSS
Payload: 1>Vote</a><script>alert(1)</script>

Level:Medium / High

源碼中使用了urlencode()函數(shù)來進行過濾。


XSS - Reflected (Login Form)

Level:Low

使用萬能密碼: 1' or 1=1' 加入XSSPayload ,導(dǎo)致在mysql_error()函數(shù)報錯時,執(zhí)行html語句
Payload: 1' or 1=1' <script>alert(1)</script>
報錯信息:Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' <script>alert(1)</script>' AND password = 'bug'' at line 1

Level:Medium

源碼中使用了addslashes()函數(shù)來進行過濾,因為有轉(zhuǎn)義,所以該函數(shù)無效。

Level:High

源碼中使用了htmlspecialchars()函數(shù)來進行過濾。


phpMyAdmin BBCode Tag XSS

Level:Low / Medium / High

本題是關(guān)于BBCodeXSS
phpmyadmin 中的error.php,可以直接飲用外鏈
Payload: error.php?error=+[a@http://www.baidu.com@]XSS@[/a]



XSS - Reflected (PHP_SELF)

Level:Low

沒啥好說的,輸入框直接上XSSPayload

Level:Medium

源碼中使用了addslashes()函數(shù)來進行過濾。

Level:High

源碼中使用了htmlspecialchars()函數(shù)來進行過濾。


XSS - Reflected (Referer)

Level:Low

直接在Referer里加入XSSPayload即可

Level:Medium

源碼中使用了addslashes()函數(shù)來進行過濾。

Level:High

源碼中使用了htmlspecialchars()函數(shù)來進行過濾。


XSS - Reflected (User-Agent)

Level:Low

直接在 User-Agent 里加入 XSSPayload即可

Level:Medium

源碼中使用了addslashes()函數(shù)來進行過濾。

Level:High

源碼中使用了htmlspecialchars()函數(shù)來進行過濾。


XSS - Stored (Blog)

Level:Low / Medium

直接在輸入框內(nèi)填入Payload即可

Level:High

源碼中使用了htmlspecialchars()函數(shù)來進行過濾。


XSS - Stored (Change Secret)

Level:Low

在輸入框直接插入Payload , 在數(shù)據(jù)庫中可以看到已經(jīng)插入成功
回到 SQL Injection (Login Form/User) 頁面時,點擊login,就發(fā)現(xiàn)XSS已經(jīng)啟動

第二種玩法:
在網(wǎng)頁源碼中可以找到 <input>hidden標簽,修改為text,然后插入Payload
"><script>alert(1)</script><"

Level:Medium

源碼中使用了addslashes()函數(shù)來進行過濾。

Level:High

源碼中使用了htmlspecialchars()函數(shù)來進行過濾。


XSS - Stored (Cookies)

本題講的是XSS篡改

Level:Low

直接在瀏覽器地址欄里修改genre參數(shù),即可修改對應(yīng)的Cookies的值

Level:Medium

源碼中使用了htmlspecialchars()函數(shù)來進行過濾。

Level:High

源碼中限定了Cookies的值,不允許篡改


SQLiteManager XSS

Level:Low / Medium / High

又是一個應(yīng)用的XSS
http://172.16.8.134/sqlite/index.php?dbsel=1
構(gòu)造閉合即可
Payload: "><script>alert(1)</script>


XSS - Stored (User-Agent)

Level:Low

User-Agent 會存儲在數(shù)據(jù)庫中,同時還是顯示出來
用Burp Sutie 直接抓包,修改 User-Agent 即可

Level:Medium

源碼中使用了addslashes()函數(shù)來進行過濾。

Level:High

源碼中使用了htmlspecialchars()函數(shù)來進行過濾。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容