• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

XSS-labs小手手

武飞扬头像
糊糊不吃糖
帮助1

安装xss-labs文件到php目录下的www文件夹下

xss-labs level 1

二话不说先看下网页源码:
学新通
没啥头绪但是有个window.location.href=“level2”.php?keyword=test"
在搜索框直接改可以得到这个消息是get方式的
学新通
有了上面的测试下面就简单了直接输,通关:
学新通

xss-labs level2

还是查看源码发现也是get方法:
学新通
输入发现没有用:
学新通
要么就是被过滤了要么就是被闭合了,查看源码看看
学新通
构造语句闭合<input>标签:"><script>alert('xss')</script>
学新通

xss-labs level3

查看网页源码,还是get方法:
学新通
先用常用语句<script>alert('xss')</script>输入后查看源码:(value的值很关键)
学新通
而且很奇怪的是前面显示就少了一块括号:
学新通
这里不输入script标签,试试onclick事件:'οnclick='alert(“xss”)
学新通

xss-labs level4

老样子先输入特定script标签再查看源码,get方法,双引号
学新通
其实和第三关一致,将单引号变成双引号闭合即可:”οnclick=“alert(“xss”)
括号里面改成斜杠也行
学新通

xss-labs level5

老样子先输入再查看:
get方法,重点观察value
学新通
script标签被过滤掉了,再看看onclick标签也被过滤掉了(“οnclick=”alert(“xss”)):
学新通
所以试试<a>标签,构造a标签的payload语句:

"><a href=javascript:alert(/xss/)>

学新通

xss-labs level6

老样子输入再看
get方法 script被过滤了
学新通
我感觉大概率onclick肯定也会被过滤没有试的必要了,用上一题的a标签:

"><a href=javascript:alert(/xss/)>

试了好多啥也没用,就想想大小写是不是也被过滤了:

1"><ScRipt>alert(1)</ScRipt>

学新通

xss-labs level7

输入再看,发现script没了直接变成了空的,所以这边肯定是遇到script的字符串就把她变成空值
学新通
学新通
不信我们可以再试试,只要连在一起就把他变成空的,我这边输入的是scriptscd最后就变成了scd:
学新通
所以我们可以双写来绕过(就是在script中间插入一个script,嵌套script):

"><sscriptcript>alert('xss')</sscriptcript>

学新通

xss-labs level8

输再看
学新通
这边将上面几关都试了然后实在做不出来吧就百度了,这一关的源码发现这一关对大小写、特殊字符、单双引号都进行了过滤处理:
学新通
这里使用的是一种新的绕过:编码绕过,用百度吧在线Unicode编码转义
学新通
将script转义成ASCII再次输入

java&#115;&#99;&#114;&#105;&#112;&#116;:alert(/xss/)

学新通

xss-labs level9(和第八关一样都是编码绕过)

先输入再看:get value
学新通
查看PHP源码发现链接头必须要以http://开头,并且用了函数strpos:
学新通

strpos函数是返回字符串在另一字符串出现的位置,其实反过来想就是包含,所以这边就是要包含http://就行:
所以加的语句有http://就行,和第八关一样,就是加个http://:

java&#115;&#99;&#114;&#105;&#112;&#116;:alert('xsshttp://')

学新通

xss-labs level10

学新通
学新通
type=hidden头一回见,百度了一下:
隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。
就是隐藏起来了,一般是name=keyword type=submit,构造事件:"type='text' onclick="javascript:alert(/xss/)
学新通
学新通

xss-labs level11

又是hidden,和第十关差不多,但是不一样的就是多了个t-ref:
学新通
用第十关的:"type='text' onclick="javascript:alert(/xss/)成功。。。
学新通

xss-labs level12

看网页源码:又是hidden,这关的value值比之前复杂一点
学新通
查看插件中的网络查看请求头发现是useragent:
学新通
那构造payload的时候value值就试试user-agent:
value后的"user-agent" type='text' onclick="javascript:alert(/xss/)
学新通

xss-labs level13

查看源码发现有个t_cook我猜是cookie:
学新通
查看cookie值看看:
学新通
在cookie中构造payload:

Cookie" οnclick="alert(/xss/)" type="text

在bp中修改并且发送可以看到value的值已经发生了改变
学新通

学新通

xss-labs level14

直接没了,忘记截图了反正查了一下就是再点击读取的时候就会出现xss

xss-labs level15

看源码
学新通
百度ng-include语法和作用:
学新通
就是可以包含之前做的文件,查看源码发现是通过src传参:
学新通
构造payload,因为上面是get方法所以直接在网页搜索框中输入:

'level1.php?name=<a href="javascript:alert(/xss/)">'

然后点击蓝色链接:

学新通

xss-labs level16

试试在url中构造payload,发现script和/没了:
学新通
试试上一关的:<img src=1 onerror=alert("xss")>
发现空格已经被实体化了:
学新通
我们把空格进行编码:

<img
src
1
οnerrοr=alert('xss')>

学新通

xss-labs level17

什么图都没有,点击蓝色链接的话确实会进入18关(亲测),就是17关都没做。。。:

学新通
看参数:学新通
查看PHP源码:

<?php
ini_set("display_errors", 0);
echo "<embed src=xsf01.swf?".htmlspecialchars($_GET["arg01"])."=".htmlspecialchars($_GET["arg02"])." width=100% heigth=100%>";
?>

这里是通过两个arg传的参数
直接在url中构造payload:arg01= onclick&arg02=alert(/xss/)
发现没有任何改变原因是火狐没法加载swf图片,切换到chrome发现可以:
学新通
点击图片完成

xss-labs level18

一开始看没图,其实和上一关一样就是swf火狐不加载,6
学新通
然后直接用上一关的payload直接过,源码也差不多:

arg01= onclick&arg02=alert(/xss/)

学新通

xss-labs level19

还是swf我服了
学新通

这题太难了就看了答案:

version&arg02=<a href='javascript:alert(/xss/)'>xss</a>

学新通

xss-labs level20

这题应该和19题一样也是flash但是我没深入 看下答案:

arg01=id&arg02=\"))}catch(e){}if(!self.a)self.a=!alert(1)//&width&height

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfjigbj
系列文章
更多 icon
同类精品
更多 icon
继续加载