首页 > 其他分享 >记录自己在xss-labs靶场的通关记录

记录自己在xss-labs靶场的通关记录

时间:2024-06-08 16:30:51浏览次数:24  
标签:xss 记录 alert labs onclick 绕过 源代码

一:靶场下载及搭建

xss-labs下载地址:xss-labs:xss 跨站漏洞平台 - GitCode

phpstudy集成开发环境安装:[ 靶场环境篇 ] phpstudy 集成环境安装教程(特别详细)_phpstudy集成环境-CSDN博客

我们下载完之后,就可以进行xss-labs-master的搭建,我本人下载的phpstudy是2018年版的

将xss-labs-master安装完之后,放到 PHPTutorial\WWW 此目录下,我们原本下载的xss-labs-master,我们可以将文件名改成xss-labs,便于我们做题时的搜索

对于新版本的phpstudy来说,我们可以将xss-labs-master放到phpstudy_pro\WWW此目录下。

二:通关记录

访问本地配置的xss-labs

第一关(JS弹窗函数alert())

点击图片,进入第一关

xss漏洞执行是通过向web页面插入JavaScript恶意代码,待用户浏览该页面时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数

我们将name作为参数,通过修改它看看页面是否变化----------->>>可以看到从test变成了MJ

在name参数上尝试用简单的JS代码进行XSS攻击,看到下面代码执行成功 

?name=<script>alert(1)</script>

第二关(input闭合绕过)

我们还是执行简单JS代码试试看,发现没有相关提示

?keyword=<script>alert(1)</script>

先查看网页源代码,看看有什么提示,可以看到我们执行的语句<>被过滤

查看一下源码,发现出现了一个htmlspecialchars()函数,

当你不知道该函数的用法时,我们进行搜索该函数的用法 

我们尝试从标签中的属性进行突破,将属性中的><进行闭合

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

第三关(onclick事件绕过)

首先,在此窗口下输入常规的JS代码

接着将上一关的通关代码进行试试,查看网页前端源代码

查看网页源代码,发现两个地方都进行了html实体化

但是htmlspecialchars函数只针对<>大于小于号进行html实体化,我们还可以利用其他方法进行xss注入,这里我们可以利用onclick鼠标点击,出现弹窗即可

' onclick=alert(1) '

点击搜索之后,再点击搜索框里面内容,触发click点击

第四关(<>过滤和onclick事件)

我们将上一关通过的payload进行尝试,见图下

见第四关的原代码,发现进行了 < 和 > 的过滤,还进行了html实体化

还是使用之前的input框的onclick点击事件来绕过,并把单引号替换成双引号

" onclick=alert(1)//

点击搜索后,再点击搜索框,插入语句成功

第五关(标签绕过)

将上一关通过的payload尝试在第五关,查看网页源代码,发现对onclick进行了过滤,

我们尝试换<a></a>标签绕过,使用JS伪协议( javascript:alert(1) )绕过,简单说就是把javascript:  后面的代码当成 javascript来执行

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

再点击蓝色的11

第六关(大小写绕过)

将上一关的payload进行尝试,发现对href标签也进行了过滤

查看源代码之后,发现对多种标签进行过滤

我们尝试大小写绕过

"><scriPt>alert(1)</script>

第七关(双写绕过)

将上一关通关payload进行尝试,查看网页源代码,发现直接把script , on , href都替换为空了

我们尝试进行双写绕过

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

第八关(url编码绕过)

我们依旧用上一关的payload进行尝试,查看网页源代码,发现该过滤的基本都过滤了,但是输入的内容在a标签里面,href可以自动解码html实体编码,直接试试编码script中的r,发现成功绕过

javasc&#114;ipt:alert(1)

第九关(合法url格式)

a标签中,显示 ”您的链接不合法?有没有!“ ,我们查一下合法的链接格式,查到合法的URL格式: http(s)://: / ?# 1.协议名:http 或 https 协议; 所以我们猜测应该至少含有 http://:,我们再次尝试JS伪协议+/http://发现过滤了script,使用上关payload+ http://:  ,发现成功绕过。

http:// 前必须要含有注释//,不然不成功

javasc&#114;ipt:alert(1)//http://

第十关(标签隐藏+onclick事件)

第十关,发现没有文本框可以上传JS代码

查看网页源代码,发现文本框可能被隐藏了

那通过根据input的name来修改type来看是否可以显示文本框,修改payload为:

t_link" type='text'>//&t_history" type='text'>//&t_sort=" type='text'>//

修改完成之后,出现文本框

我们可以发现只有t_sort的类型出现改变,说明传参点就在这里,查看源代码

使用onclick事件,发现成功绕过

&t_sort=" type='text' onclick=javascript:alert(12)>//

标签:xss,记录,alert,labs,onclick,绕过,源代码
From: https://blog.csdn.net/2302_78903258/article/details/139513953

相关文章

  • colmap大场景稀疏重建记录:部分照片畸变导致sfm生成的稀疏点云扭曲
    一、问题如题,要进行一个大场景的3DGS重建,数据集来自于某工地现场(大约3000张照片),数据集拍摄于同一个相机,按照国际惯例,3DGS需要输入一个稀疏点云,所以首先利用colmap进行稀疏重建。进行特征提取,特征匹配(colmap官网建议1000-10000张图的特征匹配使用vocabtree),稀疏重建以后,发现场......
  • 知识图谱学习记录(一)
    知识图谱学习记录(一)1.什么是知识图谱?知识图谱是一种用于表示知识的图形化结构,它包含了实体(如人物、地点、事件等)以及这些实体之间的关系。它的目的是将信息组织成易于理解和处理的形式,以便计算机程序能够理解和利用这些信息。知识图谱通常由三部分组成:实体(Entities):代表现实世......
  • Bug记录:Content-Type 'application/json;charset=UTF-8' is not supported异常解决
    Content-Type'application/json;charset=UTF-8'isnotsupported异常解决前提:确定不是因为Content-Type导致的异常,controller层有注解@RequestBody。报错详情:确定不是因为缺少Jackson依赖或者版本过低:注意到报错信息上边有一条警告日志:.c.j.MappingJackson2HttpMessageCo......
  • 比赛记录(11~20)
    112024.5.191得分题目T1T2T3T4总分得分\(0\)\(30\)\(100\)\(10\)\(140\)排名:rank\(5\)。2题解T1其实T1是本场考试最难的题,因此放到后面讲。T270pts:瞄准部分分,我们发现\(n\le15\),于是自然想到状压。考虑记录下当前选了的数字,于是定义状态为......
  • CF1979 记录
    Dashboard-CodeforcesRound951(Div.2)-Codeforces吐槽和简单总结感觉最近打一场比赛掉一次rating,可能前几次上涨都只是运气好碰到了一些更考验思维的题,我的细节能力就是依托答辩,什么也写不出来,这次B猜的结论(虽然细想很快就能找到证明),C也是猜的,D一直在绕弯,E一开始......
  • nginx配置跨域文档记录
    参考:https://www.cnblogs.com/PengfeiSong/p/12993446.html@目录概要代码小结概要这个跨域我之前配置过,昨天搜了下教程没有配成功,今天上午又花了近一上午才搞定,特意过来记录下代码server{listen80;server_nameapi.xxx.space;client_max_body_size50M;......
  • CodeForces Round #951(Div. 2) 补题记录(A~D)
    A容易发现对于任意一个长度为\(n\),下标从\(1\)开始的序列\(a\),若\(1\lel\ler<n\),则必然有\(\max\limits_{i=l}^ra_i\le\max\limits_{i=l}^{r+1}a_i\)。若\(1<l\ler\len\),则必然有\(\max\limits_{i=l}^ra_i\le\max\limits_{i=l-1}^ra_i\)。很显然Bob希望......
  • 《UML基础、案例与应用》习题记录-第5章
    部分习题,使用visio或plantuml,非正确答案,仅供参考,欢迎评论,谢绝转载。第5章聚集、组成、接口和实现5.8.2习题1.组成结构图Magazine  2.类图 3.类图 4.类图 ......
  • 《UML基础、案例与应用》习题记录-第4章
    部分习题,使用visio或plantuml,非正确答案,仅供参考,欢迎评论,谢绝转载。第4章关系4.10.2习题1.类图 2.类图 3.类图4.类图 5.类图 6.类图 ......
  • 2024.6 做题记录
    2024.6做题记录[JSOI2009]球队收益/球队预算考虑到要求最小总支出,想到最小费用流。首先容易发现,每场比赛都只有两种可能,即甲输乙赢或甲赢乙输。但是这样我们在跑费用流的时候显然需要考虑对于两个因素同时的影响,显然这样不好做。我们不妨假设剩下的比赛所有人都输,那么我们......