1. 程式人生 > 實用技巧 >XSS - labs 靶場筆記(下)

XSS - labs 靶場筆記(下)

Less - 11:

1.觀察介面和原始碼可知,依舊是隱藏表單

2.突破點是

$str11=$_SERVER['HTTP_REFERER'];

(本題為TTP頭REFERER注入)

3.因此構造payload對t_ref進行修改

payload:

click here~" type="button" onclick="javascript:alert(1)"

4.

Less - 12:

1.直接分析原始碼,可以判斷此題為ser-agent注入

2. 啟動bp攔截一下,

3.用payload替換,

Less - 13:

1.分析原始碼,發現是cookie注入

2.依舊攔截抓包,修改

3.通關

Less - 14:

地址失效

Less - 15:

1.檢視原始碼,發現有彈窗指令碼

  補充:

    ①ng-include 指令用於包含外部的 HTML 檔案。包含的內容將作為指定元素的子節點。

    ②ng-include 屬性的值可以是一個表示式,返回一個檔名。預設情況下,包含的檔案需要包含在同一個域名下。

2.思路:

  ①使其包含leve 1 檔案並構造如下payload ,利用src異常報錯 。

  ②onerror 事件在載入外部檔案(文件或影象)發生錯誤時觸發。

3.做法:搜尋發現無隱藏輸入框,找到一個img標籤,用於載入頁面圖片

4.嘗試利用img

標籤的src路徑錯誤觸發的onerror事件,來製造彈窗,即:將src置空,新增onerror事件為alert(1)

構造payload:

'level1.php?name=test<img src=1 onerror=alert(1)>'

總結:

  無input標籤,但是發現img標籤,利用其空src的報錯事件(onerror)進行繞過

(法二:見http://0verflow.cn/?p=1764

Less - 16:

1.檢視原始碼,依舊是統一小寫+各種過濾替換......把 “script”、”/”、”空格” 轉換為”&nbsp”這個實體編碼,那就不能雙寫繞過和大小寫混合繞過了。

2.嘗試使用回車符%0a進行(經過嘗試是可以的)

3.發現<center>標籤,作用為

4.script我們可以使用%a0隔開繞過替換,空格替換可以使用%0a代替,但是反斜槓卻沒法繞過,所以只能不使用反斜槓。

5.構造payload:

<a%0ahref="javascr%0aipt:alert(1)">
 

Less - 17:

1.進入頁面發現有兩個注入點

2.檢視原始碼,發現<embed>標籤,由於embed支援html事件屬性,那就可以給他新增一個屬性,比如onclick

3.嘗試構造payload

arg01= onclick&arg02=javascript:alert(1)

Less - 18:

思路和上一關完全一樣,引用上一關payload

arg01= onclick&arg02=javascript:alert(1)

Less - 19-20:

flash xss,涉及到反編譯(沒怎麼肝明白,還在看,,,)

可以參考

https://blog.csdn.net/u014029795/article/details/103213877

https://blog.csdn.net/u014029795/article/details/103217680?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159547621119725219908275%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=159547621119725219908275&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v3~pc_rank_v4-1-103217680.first_rank_ecpm_v3_pc_rank_v4&utm_term=xss-labs%2019&spm=1018.2118.3001.4187