1. 程式人生 > >XSS闖關之第五關

XSS闖關之第五關

網絡安全 web安全 XSS 入門級

開啟第五關
技術分享圖片
查看源碼,進行分析
技術分享圖片
當我第一眼看到這個代碼的時候,就想著用上一關的payload,只需要將其大寫就可。但是結局往往就是殘酷。激動之下忽略了另一個函數strtolower(),此函數,將所有的字母全部轉化為小寫。所以造成我的大寫payload沒有什麽用。
將字母轉換為小寫後復制給變量str,然後此變量經過str_spelace()函數將其中的<script轉換為<sc_ript,將轉換後的字符串賦值給變量str2.這樣我們的<script>標簽就不能使用
Str2經過str_spelace()函數將其中的on轉化為o_n。這樣我們帶有on字符的payload就不能使用。例如:onerror,onclick等等

構建payload:
你不讓我通過這些東西攻擊你,那我就繞過你的過濾去攻擊。
我的另一種破解思路,通過構建超鏈接,這次源碼並沒有過濾<>,這就給了我們可趁之機。
“><a href=”javascript:alert(1)”>hack</a>
<a>...<a>標簽:html中設置超鏈接標簽
Href屬性:標簽<a>的屬性,超鏈接指定的url,這裏指定的是彈框事件
這時候,源碼會被我們改為
<input name=keyword value=””><a href=”javascript:alert(1)”>hack</a>>

所以當我們點擊hack的時候,發生彈框。
技術分享圖片

總結:了解各個函數的意思,以便於真正做題,通過測試迅速分析出後臺的php文件經過了那些函數的過濾。並避開過濾創造payload。

XSS闖關之第五關