首页 > 其他分享 >xss-labs靶场

xss-labs靶场

时间:2023-04-29 16:35:07浏览次数:53  
标签:xss 标签 alert labs 使用 靶场 源代码 poc

在线XSS-labs靶场:https://xssaq.com/yx/

靶场搭建

靶场是直接使用docker搭建的

docker pull vulfocus/xss-labs

启动靶场

docker run -p 8005:80 vulfocus/xss-labs

浏览器访问IP+8005

ivX8BP.png

windows搭建

使用phpstudy_pro搭建
下载地址:https://github.com/do0dl3/xss-labs
ivXOaE.png
解压文件放入www文件夹下,开启服务
ivXIJX.png
浏览器访问127.0.0.1/xss-labs
ivX8BP.png

level1

ivX9K3.png
仔细观察看到在url栏中传了一个参数,所以在该参数处进行尝试传入其它参数
ivXS1p.png
ivX5zL.png
发现页面有所变化,在 “欢迎用户” 后有一个显示位能对传入的参数进行输出
构造poc

<script>alert('xss')</script>

ivXsCU.png
源码分析
程序将用户以GET方式提交的参数name赋给$str获取name的值,直接返回前端使用,没有对其进行过滤导致恶意代码可以在前端执行
ivXvXv.png

level2

ivgLMd.png

来到第二关有搜索框,直接使用第一关的poc,没有弹窗,代码原样输出

<script>alert("xss")</script>

ivgzxE.png


右键查看源码发现<>都被过转义了

ivgGnP.png
回到页面F12定位到搜索框,发现是<input>标签可以利用
利用:闭合<input>标签

ivgSfJ.png
构造poc:

"><script>alert(xss)</script>

ivgsGA.png
源码分析
程序没有对value属性使用htmlspecialchars() 函数进行处理,只对<h2>处进行过滤处理ivgvYo.png
知识补充

ivgJwN.png

level3

image.png
先输入字符串test进行尝试,传入的参数和搜索框的一样
image.png
查看源代码和第二关差不多
image.png

使用第二关的poc

"><script>alert("xss")</script>

没有弹窗
image.png
查看源代码,发现两处<>都被HTML实体化,可以推测这两处都使用了htmlspecialchars()函数image.png
<input>标签无法闭合,可以绕开标签去使用新标签,<input>标签的一些特殊事件来执行js代码
使用单引号闭合属性value,添加事件执行js
image.png
poc

'onfocus=javascript:alert('xss') >

onfocusjavascript中在对象获得焦点时发生的事件,最简单的实例就是网页上的一个输入框,当使用鼠标点击该输入框时输入框被选中可以输入内容的时候就是该输入框获得焦点的时候,此时输入框就会触发onfocus事件.因此点击当前页面的输入框就可以完成弹框了
image.png
源代码分析
刚刚的推理正确,这两处都使用了htmlspecialchars()函数
image.png

level4

image.png
这个和上两关类似,直接丢入poc查看

<script>alert("xss")</script>

查看源代码发现<h2>(标号1)使用了使用了htmlspecialchars()函数处理
标号2处< >被删除
image.png
很明显和第三关差不多,使用事件来触发js,唯一不同的是使用双引号闭合
poc

"onfocus=javascript:alert('xss') >

填入poc点击搜索框触发事件
image.png
源代码分析
keyword参数的值赋给str变量,然后经过1处理将变量值中包含的<、>符号删除
2处对变量值进行编码处理之后显示在页面之上
最后处将去除特殊符号后的变量值插入到<input>标签的value属性值中
image.png

level5

image.png

此题和上一关卡变化不大,但不知道服务器端对其是怎么处理的,直接丢入poc查看源代码

<script>alert("xss")</script>

根据上几题第一处很明显使用htmlspecialchars()函数处理过才返回到浏览器显示的
二处可以看到<script>标签被插入了一个_(下划线)符号
可以简单的推测一下服务器在2处使用了正则匹配,匹配到<script>标签插入_符号
image.png
<script>标签无法使用,可以使用其他的标签绕过,使用事件进行绕过测试

"onfocus=javascript:alert('xss') >

测试发现没有弹窗,查看源代码onfocus事件也被插入了_(下划线)符号
image.png
再次尝试其他的标签:<a>

使用新标签要先闭合<inupt>标签构造poc

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

填入poc,点击链接触发弹窗
image.png
image.png
源代码分析
1标号处GTE入参数给str,分别对on<script>进行了过滤,,过滤之后再见值传给了srt3
image.png

标签:xss,标签,alert,labs,使用,靶场,源代码,poc
From: https://www.cnblogs.com/Breeze777/p/17364184.html

相关文章

  • Xss攻击和csrf攻击
    xss(CrossSiteScripting)跨站脚本攻击发生在输入框、浏览器地址栏等输入域中,攻击者通过这些地址,向用户的可能访问的页面植入一些可执行的脚本。等用户打开页面的时候,脚本会自动执行,获取用户的信息,比如cookie。或者自动修改被访问的页面结构,隐式的提客户端发起一些请求。或者......
  • 了解一下XSS
    XSS,即跨站脚本攻击(Cross-SiteScripting),是一种常见的网络安全漏洞,攻击者通过在网页中注入恶意脚本代码,使得浏览器执行这些脚本,从而控制网页上的内容或者获取用户的敏感信息。XSS攻击一般分为反射型、存储型和DOM型三种类型。1.反射型XSS攻击反射型XSS攻击是指攻击......
  • Typecho<=1.2.0 存储型XSS 复现
    Typecho<=1.2.0存储型XSS影响版本漏洞影响版本:Typecho<=1.2.0漏洞复现cookie.js//定义一个全局变量website,值为一个具体的网址varwebsite="http://xss.xxxx.com";//声明并立即执行一个匿名函数(function(){//创建Image对象,并给它的src属性赋值为websi......
  • 文件上传漏洞靶场:upload-labs(附在线地址)
    重装系统:CentOS7.6密钥对验证,或密码验证,根据自身情况选择,博主这边为了ssh连接方便选用的密码校验。WindTerm登录系统需提前去云服务器的安全组,开放22端口ssh连接。更新软件yumupdateyumupgradeyum升级这两个命令之间有很小的区别。yumupdate将更新您系统上的软件包,......
  • vulnhub靶场之ADROIT: 1.0.1
    准备:攻击机:虚拟机kali、本机win10。靶机:Adroit:1.0.1,下载地址:https://download.vulnhub.com/adroit/Adroit-v1.0.1.ova,下载后直接vbox打开即可。知识点:shell反弹(jar)、sql注入、简单的代码编写、逆向、dns解析。这个靶场比较推荐,因为之前做的大都是python、php的,这种java类的......
  • web(XSS,CSRF,点击劫持,URL跳转)
    搜索被黑网站:关键字:Hackedby搜索引擎语法:Intitle:keyword标题中含有关键词的网页Intext:keyword正文中含有关键词的网页Site:domain在某个域名和子域名下的网页XSS全称:CrossSiteScript               中文名称:跨站脚本危害:盗取用户信息、钓鱼、......
  • dvwa存储型xss
    1、低级别查看服务端提示代码,直接返回未做处理。<script>alert(/xss/)</script>2、中级别查看服务端提示代码,使用htmlspecialchars函数对参数message进行实体编码,使用str_replace函数对参数name进行替代<script>为”。解决:从name参数着手,使用script大小写混杂或者其他标签......
  • xv6 labs Copy-On-Write fork
    虚拟内存提供了一个中间层:内核可以通过将PTE标记为invalid或者read-only来拦截内存引用,这会导致pagefault,此时,你可以通过修改PTE来改变地址的含义。在计算机系统中有一种说法,任何系统问题都可以通过中间层解决。lazyallocation实验提供了一个例子,本次实验将探索另一个例子:copy-o......
  • vulstack2 靶场做题笔记
    环境配置DCIP:10.10.10.10OS:Windows2012WEB默认初始密码登陆不进去,利用de1ay/1qaz@WSX登陆IP1:10.10.10.80IP2:192.168.111.80OS:Windows2008pcIP1:10.10.10.201IP2:192.168.111.201OS:Windows7攻击机kaliip:192.168.111.130内网网段:10.10.10.0/24......
  • 《SQLi-Labs》01. Less 1~5
    目录前言Less-1知识点题解Less-2题解Less-3题解Less-4题解Less-5知识点题解sqli。开启新坑。前言对于新手,为了更加直观的看到sql注入语句,可以在以下文件添加两句:echo$sql; #将构造的sql语句进行输出echo"<br>"; #换行输出这样就可以在页面实时看到sql语句,便......