进入靶场:
(1)打开phpstudy
(2)在网页中输入127.0.0.1,选择 xss-labs-master靶场,出现以下页面说明进入成功!
开始做题!
1.第一关
首先查看页面源代码,发现js代码里的keyword将参数值直接放到<h2>这个标签里了,该为反射型xss
所以在url里构造简单的js代码
http://127.0.0.1/xss-labs-master/xss-labs-master/level1.php?name=<script>alert("你好")</script>
回车后及通关!
2.第二关
进入后,同样的操作,先查看源代码,发现get方法的form表单
尝试输入和第一关一样的js代码<script>alert("你好")</script>,发现没有成功
查看源代码,发现<h2>标签一些字符被转义掉了,但<input>标签的没有被转义,注入语句被放到了value 值当中
所以我们可以构造闭合
http://127.0.0.1/xss-labs-master/xss-labs-master/level2.php?keyword="> <script>alert("你好")</script> <"
这里的"是为了与value的双引号进行闭合,而 > 是为了闭合<input>这个标签从而使得后面的成为HTML中的另一个标签而可以被浏览器执行,后方的 <"也是为了实现闭合
回车后成功通关!
3.第三关
先注入<script>alert("你好")</script>试试,发现不成功,查看有源代码
发现不管是<h2>标签和<input>标签的一些字符都被转义掉了,但可以构造不含<和>的弹窗函数
' onclick=alert(1) '
然后点击一下输入框,弹出弹窗,成功过关!
4.第四关
依然是先注入<script>alert("你好")</script>试试,发现不成功,查看有源代码
发现<h2>标签进行了<和>的编码,<input>直接将<和>删掉了
直接运用上一关的方法, 构造不含<和>的弹窗函数
" onmouseover=alert(1) "
然后将鼠标经过输入框,弹出弹窗,成功通关!
5.第五关
" οnmοuseοver=alert(1) " 试试,不成功,查看源代码
发现17行的on被替换成了o_n,可以使用超链接标签<a>绕过
"> <a href=javascript:alert()>111</a> <"
点击超链接111,成功通关!
6.第六关
尝试使用上一关代码"> <a href=javascript:alert()>111</a> <",发现超链接没显示出来
查看页面源代码,发现小写href被过滤
尝试大写绕过,出现超链接
"> <a hrEf=javascript:alert(1)>111</a> <"
成功通关!
就先分析这么多关吧,其他关以后再说~