XSS - labs 靶場筆記(下)
Less - 11:
1.觀察介面和原始碼可知,依舊是隱藏表單
2.突破點是
$str11=$_SERVER['HTTP_REFERER'];
(本題為HTTP頭REFERER注入)
3.因此構造payload對t_ref進行修改
payload:
click here~" type="button" onclick="javascript:alert(1)"
4.
Less - 12:
1.直接分析原始碼,可以判斷此題為user-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”、”/”、”空格” 轉換為” ”這個實體編碼,那就不能雙寫繞過和大小寫混合繞過了。
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,涉及到反編譯(沒怎麼肝明白,還在看,,,)
可以參考