最基本的测试,在input框中输入 <script>alert(1)</script>页面出现下面的效果javascript
出现咱们指望的结果 说明存在xss反射型漏洞java
一样用上面的方法测试 发现页面并无出现预想的结果,接着换另外一种方法,浏览器
经过输出的内容能够发现 以前输入过的<script>并无显示,猜想极可能是被过滤掉了,因为代码执行的时候只能过滤一次,利用这个特性,在input框中输入 <scr<script>ipt>alert(1)</scr</script>ipt>xss
这时候 发现居然仍是不能够,而后按F12查看一下Hello处的元素 发现有趣的东西,post
这时候终于明白了,只过滤了前面的没有过滤后面的 所以 在输入框中输入 <scr<script>ipt>alert(1)</script> 终于出现了预想的效果测试
此次依然是按照流程走一遍,先输入 <script>alert(1)</script>,出现了下面诡异的现象,比上一个出现的信息更少。3d
而后开始用大小写的方式绕过试一下,发现也不行,猜想可能直接把整个语句都过滤掉了,这时换另外一种方式,利用img标签(固然其余标签也能够),在输入框中输入 <img src=a onclick=alert(1)/> 这时发现这种方法居然能够blog
ß-------------------------我是分割线--------------------------à事件
给出这样的一个场景,处处瞅了瞅发现没有输入框,这是考虑多是get类型传参,看向地址栏 发现了端倪。ip
开始测试: 先将这里的test修改成 <script>alert(1)</script> 出现了难以想象的画面
换浏览器,
emmm......换浏览器果真好使。
一眼望去 能够判断是post类型。老办法,在输入框中输入 出现了下面的状况,说明没有成功
这时去查看元素发现,以前输入的内容出如今了value中
这时就要想方法将 输入的内容给隔离出来 使其可以执行,由于字符串是不可以运行的。在这里方法比较多,我用的是 构造一个新的标签,将前面的标签闭合先,在input框中输入 "> <script>alert(1)</script>
此次学聪明了 先查看一下源代码,看是否有特殊的代码
细心的人就会发现 这里居然是单引号,坑。
利用上题的思路 输入 ' > <script>alert(1)</script> 又遇到坑 居然不行,依旧是查看源代码 发现 对方将尖括号进行了转义,这时就想到了另外一种方法,不构造一个新的标签,直接操做这个标签,利用事件进行绕过,输入 ' onfocus=alert(1) ',终于成功!
查看源代码 跟第二题存在相同的状况,在input框中输入 " onclick=alert(1) 一次性成功。
一样的查看源代码 跟第二题存在相同的状况,
用第二题的方法进行测试,失败 查看源代码 看到 这里的script被作了手脚
换用第三题的方法发现 onclick也被作了手脚。
这时候 换用一下大小写混合试试,貌似也不行现在 script 与事件都不能用了 ,试试另外一个方法 <iframe src=javascript:alert(1);> 成功
一样存在第五题的状况,先大小写混合试试,没想到一次性成功 " Onclick=alert(1) >