一、更換JS引入方式
正常情況下,執行js代碼有三種方法:
1、行間式
<div onclick="alert('yea...這樣子可以執行JS哦')"></div>
<a href="javascript:alert('執行JS代碼但不跳轉');">點我</a>
<a href="javascript:void(0)" onclick="alert('點選執行JS代碼');">再來點我啊</a>
2、外鍊式
3、嵌入式
<script>
alert('js hello world!');//彈窗
</script>
在某些情況下,web應用對JavaScript的關鍵字做了過濾時,就可以通過更換引用方式來實作JS代碼的執行。
二、通過事件引入JS代碼
常用事件:
- onchange :當HTML 元素已被改變時執行JS
- onclick: 當使用者點選了 HTML 元素時執行JS
- onmouseover: 當使用者把滑鼠移動到 HTML 元素上時執行JS
- onmouseout : 當使用者把滑鼠移開 HTML 元素時執行JS
- onkeydown: 當使用者按下鍵盤按鍵時執行JS
- onload:當浏覽器已經完成頁面加載時執行JS
- onerror: 當執行錯誤時加載JS代碼
通過事件執行JS代碼是一個不錯的選擇,但是一些特殊事件往往會被過濾,是以還得加上其他方法繞過。
三、面對輸入過濾時的繞過姿勢
常用方法:
- 大小寫繞過
- 雙寫繞過
- 使用編碼:如HTML實體編碼、URL編碼、JS編碼等
- 閉合HTML标繞過
- …