第一关:没有任何过滤,直接写入语句
第二关:由f12发现源码中有value存在,考虑闭合
第三关:随机输入,抓包发现
修改p2
第四关:
说明存在不可见的输入域
抓包
发现p3“hackme”
在p3输入
放包
通过
第五关:
根据提示,输入的文本框长度被限制
直接在源代码中更改限制的文本长度之后输入语句
第六关
根据提示event handler attributes
采用js事件
" οnclick="alert(document.domain)"添加到文本框标签中
第七关
根据提示输入与上关相同的答案,错误,发现空格会被双引号分割
第八关
根据提示
第九关
UTF-7
受第六关启发在search按钮中添加事件
弹窗了但是未通过
又在hint中的id=hide后添加事件
通过
第十关
直接输入测试语句发现domain被过滤了
采用双写绕过
"><script>alert(document.dodomainmain);</script>
第十一关
无
第十二关
"s/[\x00-\x20\<\>\"\']//g;"
特殊字符都被过滤了,只有用``绕过,但只有ie浏览器会把``识别成“
`` onmouseover=alert(document.domain);
第十三关
根据提示:
直接构造
不通过
故技重施
第十四关
还是过不了,再次故技重施
onclick=”alert(document.domain)”
第十五关
第一次输入测试语句发现/等特殊符号被过滤
使用ascii编码+双写/
\\u003cscript\\u003ealert(document.domain)\\u003c/script\\u003e
第十六关
无法进入
第十七关
这里说只可以在此页面只可以在老版本ie上运行,可以跳过,但继续传统艺能,通过给提示按钮添加事件弹窗
第十八关
传统艺能
第十九关
在link链接标签中添加js事件弹窗
通关
引自
:
第十七关和第十八关:
17:multi-byte character euc-jp的编码范围: byte 1为8E时, 为2 byte编码, byte 2范围为A1-DF ,byte 1范围为A1-FE時, 为2 byte编码, byte 2范围为A1-FE ,byte 1为8F时为3 byte编码, byte 2与byte 3范围均为A1-FE ,两个表单元素都提交%A7闭合最后的双引号,查看源码成功了,但由于ie浏览器的问题,可以在老版本里采用一下语句一试
p1=1%A7&p2=+onmouseover%3Dalert%28document.domain%29%3B+%A7
18:us-ascii high bit issue 41-5A, 61-7A (若含数字与符号则为21-7E) 同样别用IE8,这些漏洞已经在IE8中修补了。
p1=%A2%BE%BCscript%BEalert(document.domain);%BC/script%BE