*注:如有侵权请联系删除,本文纯属学习交流,请勿用于非法用途,欢迎指正补充
打开开发者工具发现URL头上的test插入在h2标签里面,咱们直接在里面插入一个script标签再加上alert事件就可.
到第二关会发现,输入框内的test在input标签内的value里面,这里咱们引入"将其注释,再加入onmouseover事件将值设定为" javascript:alert(11)就可以了
‘’ οnmοuseοver=‘’ javascript:alert(11)
第三关和第二关同理,只是不能用双引号注释,而改用单引号
’ οnmοuseοver='javascript:alert(11)
第四关和第二关的思路也是一模一样,可能是第二关不是让我们引入onmouseover事件,而是过滤掉input标签引入script标签??
‘’ οnmοuseοver=‘’ javascript:alert(11)
第五关咱们尝试再次引入onmouseover事件时发现被过滤了,通关F12开发者工具观察发现这里应该是将所有含on的事件过滤了,这里咱们引入新思路,将input标签注释掉,引入新标签a,再加入事件href插入弹窗.
">< /input >< a href=javascript:alert(11) >11< /a >
这里咱们依然引入第五关的思路,但是会发现href被过滤了,于是咱们尝试将href进行大写绕过
">< /input >11< /a>
咱们首先运用第六关的思路尝试一下,发现href和script直接被过滤了,运用第二关引入onmouseover时也发现on被过滤了,所以这里咱们先注释掉input标签,再引入script标签并对script进行双写绕过,这里可以发现成功弹窗了
第八关咱们先打开开发者工具可以看到这里他会自动将输入的内容插入到href事件内,所以咱们先将javascript:alert(11)输入,发现它将script过滤了一下,运用双写绕过和大小写绕过都没用,on事件也被过滤了,这里咱们引入一种新的思路,就是进行Unicode编码绕过,又因为html仅能识别带前缀的Unicode编码所以这里将/u00替换成就可以了,咱们将javascript里面的t换成y就可绕过了
这里咱们通过开发者工具F12对输入内容进行观察,发现咱们也插入不了在html中,这里他提示您的链接不合法?咱们输入一个规范完整的链接http://www.baidu.com试试,发现可以成功在href事件内插入了,
这里咱们判断需要有http://才能进行插入所以咱们先将javascript:alert(11)进行插入再加入http://进行注释再对script进行Unicode编码再转为html识别格式就可以绕过了
javascript:alert(11)//http://
第十关没有给咱们输入框,这里咱们打开开发者工具发现input标签里面藏了三个name事件为t_link,t_sort,t_history,这里咱们打开这关的php文档来分析,
发现这里包含了一个隐藏的GET为t_sort,所以将在URL头里面对t_sort进行传参,可以插入弹窗,因为原来的type为hidden,所以这里咱们还要讲type进行改写再插入onclick事件为javascript:alert(11)才能绕过
127.0.0.1/xss/level10.php?keyword=“&t_sort=111” type=“text” οnclick="javascript:alert(11)
这里咱们先打开开发者工具进行分析,发现它的input标签里面隐藏了一个很像Referer的东西,打开后台php分析,这里可以看到它将Referer作为参数传递到 t_ref的value里面了,str11= $ _SERVER[‘HTTP_REFERER’]; < input name=“t _ref” value=“‘.$str33.’” type=“hidden”>
这里咱们打开burp进行抓包,将REFERER修改为"&t_sort=111" type=“text” οnclick="javascript:alert(11)就可以了
通过分析发现同十一关一样,只是将REFERER传参改为了User-Agent传参,这里抓包将User-Agent改为" t_sort=11" type=“text” οnclick="javascript:alert(11)就可以了
同理,13关是抓包改cooike,将cooike改为user=" t_sort=11" type=“text” οnclick="javascript:alert(11)就可以了
14关有问题,这里直接跳转到15关
第15关有一点抽象,大概的意思就是span标签class时间里面有一个ng-include包含函数,可以进行引入,这里咱们引入第一关的图片,并对图片标签img进行插入弹窗
http://127.0.0.1 /xss/level15.php?src=%27level1.php?name=%3Cimg%20src=1%20οnerrοr=alert(11)%3E%27
这里16关咱们在URL上面输入的内容被引入到center标签里面,插入script标签试试,这里发现script被过滤成空格了,这里咱们发现之前的所有绕过思路都不好使了,img标签没有进行过滤但是他直接把空格过滤了
这里咱们就需要知道html标签的一个特性就是,在一个标签的每个事件中间将空格换成分行符%0d也是可以识别的,所以这里咱们在URL里面输入%0d也就是分行符,进行绕过
创作不易,希望大家多多支持,更希望对大家有所帮助.