xss-labs部分题目


xss-labs

level-1

  第一关是搜索到的教程,因为啥都不明白。
  然后就是没有搜索框,就直接使用get的方式传值,归根结底还是html。让name="test"输入的内容代替到了的是test的那一处,输入name="test">
  然后弹框完成的不错

level-2

  第二关是半自己做的,在第一关中明白了一点思路。
  因为存在搜索框,使用的payload就和level-1的一样,也就是keyword="test">//
  那为什么要在这个最后加上//这个东西呢?就是因为这个可以把后面的">这个东西给他注释掉。功能很强大的样子。
  还是弹框完成的不错

level-3

  第三关也是半看相关知识半做的,得知这一关要使用的知识是JavaScript事件相关的。在菜鸟教程学习了相关的知识。菜鸟教程-JavaScript事件

  这一关对<``>这两个标签采用了转义处理,然后这个引号是单引号而非双引号,所以在框内搜索1' onclick=alert(1)//就可以了
  然后就是这个//的作用还是不太清楚,似乎是要注释掉后面的标签,不知道最后为啥就还可以执行这个事件反正是做出来了,还不错。

level-4

  自己做的也是稀里糊涂的,用法和上一关的用法一样,就是这次的单引号换成了双引号,我正准备再尝试一次呢,就弹出完成的不错了。
  输入框中的内容1" onclick=alert(1)//
  ps:看到try harder!还以为很难。

level-5

  使用"> 一般语句尝试,过滤了script标签
  使用find a way out!" onclick=alert(1)//过滤掉了onclick标签
  以上两个标签的过滤,都是对大小写都进行了过滤。
  看了别人写的博客,发现还能使用,这个标签。
  然后尝试使用伪链接方式假造一个超链接:
  "> hahaha,点击自己创建的链接,完成的不错。

level-6

  和第一关相似的payload,然后把script中的s改为大写的S,对小写的整体进行了过滤,但是未对大写的部分进行过滤
  payload为break it out!">//
  完成的不错。

level-7

  第七关因为很多关键的词语都被屏蔽了,但是onclick中的on被直接替换为空,所以可以采用单词嵌套来绕过屏蔽。
  payload为:1" oonnclick=alert(1)//
  完成的不错!

level-8

  这里有一个添加友情链接的功能,然后试一下用javascript:alert(1)然后就变成了javas_cript:alert(1),又试了一下大小写,同样也被过滤掉了。
  最后是使用了Unicode编码了一次,才能绕过过滤。
  点击友情链接,完成的不错!

level-9

  这里还是有一个添加友情链接的功能,然后试一下用javascript:alert(1)然后就不合法,很多关键词都被过滤掉了。
  后台的源码应该与下面的代码实现的功能类似:

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()  
{     
confirm("完成的不错!");
 window.location.href="level10.php?keyword=well done!"; 
}
script>
<title>欢迎来到level9title>
head>
<body>
<h1 align=center>欢迎来到level9h1>

'; ?>

友情链接'; } else { echo '

友情链接
'; } ?>
<center><img src=level9.png>center> payload的长度:".strlen($str7).""; ?> body> html>

  发现要有http://这个关键词,就把他放在//的后面就行了。
  因为对关键词进行了过滤,所以就算payload是javascript:alert(1)//http://也是不行的,可以ri之间放入一个%09就是Tab制表符实现过滤。但是我并不知道具体的过滤的实现过程。

%09要放在url内实现。

  点击链接,完成的不错

level-10

  查看元素后发现,page里面有一些,准确来说是3个隐藏的标签
  分别对这3个参数进行GET传参:http://web-labs.rinue.top/xss-labs/level10.php?keyword=well%20done!&t_link=test1&t_history=test2&t_sort=test3 ,查看元素的代码为

<input name="t_link" value="" type="hidden">
<input name="t_history" value="" type="hidden">
<input name="t_sort" value="test3" type="hidden">

  由此可见,可对t_sort这个参数进行传值。
  下一步就是弹框了,payload为?t_sort=test" type="text" onclick="alert(1)其中test" type="text" onclick="alert(1)为传入的内容
  完成的不错!

level-11

  和level-10差不多,都是hiden的框框,但是模仿着10关的过程怎么都做不出来,看了别人做的。
  原来是要修改referer,最后使用了 HackBar2.1.3 (火狐的)然后构造payload直接就行了。
  payload为" type="text" onclick="alert(1),点击已经显示出来的框框就行了。
  完成的不错!

level-12

  和第11关的差不多,模仿着第11关,一做就出来了。
  这一关修改的是user-agent,因为下面的t_ua的值就是user-agent的值。
  payload不用改,还是11关的payload就行。
  完成的不错!

level-13

  和上两关的差不多,不过这一关所要修改的是cookies的值。
  payload稍有不同,用的是前两关用到的payload之外,又多加了一部分。因为cookies的结构与其他的有些不一样。
  payload为user=" type="text" onclick="alert(1),点击显示出来的框框。
  完成的不错!

level-14

  不会,先跳过,会了再回来。
  
  
  

level-15

  根据writeup,这里的注入点为src
  
  
  

level-16

  源码为:

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()  
{     
confirm("完成的不错!");
 window.location.href="level17.php?arg01=a&arg02=b"; 
}
script>
<title>欢迎来到level16title>
head>
<body>
<h1 align=center>欢迎来到level16h1>
".$str5."";
?>
<center><img src=level16.png>center>
payload的长度:".strlen($str5)."";
?>
body>
html>

  过滤了script空格/。使用换行符%0A取代空格,在html中照样可以运行。
  payload为:,这里的1.jpg是不存在的,所以触发了onerror事件,导致弹窗。
  完成的不错!

level-17

  这一段是关键的代码。而url中arg01=a&arg02=b说明arg01arg02分别取代的是a=b中的前面(a)和后面(b)。
  所以构造的payload为arg01=a&arg02=b onmouseover=alert(1),就行了,开始忙活了半天没有实现成功。原来是我的火狐浏览器的问题!
  使用Microsoft edge的时候才能成功,因为xsf01.swf这个文件火狐里打不开,但是Microsoft edge打得开
  完成得不错!

level-18

  跟上一关相似,一开始空格被转化成了%20,然后把%20改成%0A就可以了,还是火狐不可以,但是Microsoft edge可以
  payload为arg01=a&arg02=b%0Aonmouseover=alert(1)
  完成的不错!进入下一关!

level-19

  最后两关还没想出来。
  似乎跟17,18差不多。

推荐我的博客

你可能感兴趣的:(xss-labs部分题目)