最基本的测试,在input框中输入 <script>alert(1)</script>页面出现下面的效果
出现我们期望的结果 说明存在xss反射型漏洞
同样用上面的方法测试 发现页面并没有出现预想的结果,接着换另一种方法,
通过输出的内容可以发现 之前输入过的<script>并没有显示,猜测很可能是被过滤掉了,由于代码执行的时候只能过滤一次,利用这个特性,在input框中输入 <scr<script>ipt>alert(1)</scr</script>ipt>
这时候 发现竟然还是不可以,然后按F12查看一下Hello处的元素 发现有趣的东西,
这时候终于明白了,只过滤了前面的没有过滤后面的 因此 在输入框中输入 <scr<script>ipt>alert(1)</script> 终于出现了预想的效果
这次依然是按照流程走一遍,先输入 <script>alert(1)</script>,出现了下面诡异的现象,比上一个出现的信息更少。
然后开始用大小写的方式绕过试一下,发现也不行,猜测可能直接把整个语句都过滤掉了,这时换另一种方式,利用img标签(当然其他标签也可以),在输入框中输入 <img src=a onclick=alert(1)/> 这时发现这种方法竟然可以
?-------------------------我是分割线--------------------------à
给出这样的一个场景,到处瞅了瞅发现没有输入框,这是考虑可能是get类型传参,看向地址栏 发现了端倪。
开始测试: 先将这里的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) >
原文:https://www.cnblogs.com/Abelte/p/8982593.html