【网络安全 --- xss-labs靶场通关(1-10关)】详细的xss-labs靶场通关思路及技巧讲解,让你对xss漏洞的理解更深刻
靶场安装:
靶场安装请参考以下博客,既详细有提供工具:
【网络安全 --- xss-labs靶场】xss-labs靶场安装详细教程,让你巩固对xss漏洞的理解及绕过技巧和方法(提供资源)-CSDN博客【网络安全 --- xss-labs通关】xss-labs靶场通关,让你巩固对xss漏洞的理解及绕过技巧和方法(提供资源)https://blog.csdn.net/m0_67844671/article/details/133915033?spm=1001.2014.3001.5501
靶场通关:

点击图片图片以后进入到第一关:
1-1 第一关:
发现有个name参数值为test;改变name的值发现在页面上进行输出,name我们就对name参数进行payload注入

第一关没有任何防范
'"><script>alert('aini');</script>
输入payload,按回车

看到了弹框,就过去了

1-2 第二关:
发现有个输入框,输入的内容也会在输入框上面显示出来

我们网页右击,点击菜单来最下面的检查“” 看渲染结构,发现我们输入的内容是一个文本框的value值,这样浏览器是不会执行我们的注入语句的,所以我们要构造标签闭合

第一种思路:
构造一个onclick属性
" onclick="alert(123)
<input name="keyword" value="aini">
上面payload的做右边的" 可以闭合调value属性,οnclick="alert(123跟value属性本来的右引号形成闭合,下面就是payload注入后的效果
<input name="keyword" value="" οnclick="alert(123)">
点击搜索

这时候文本框有了个点击事件,所以我们点击文本框

就有弹框了
第二种思路:
构造闭合标签,把input标签闭合掉,然后写个script标签
'"><script>alert(123)</script>

就有弹框了

1-3 第三关:

跟上一关差不多,还是两种思路先尝试一下,第一种闭合属性
发现双引号编码了

使用单引号试一下看看
注意:前端事件有很多onclick,onfocus,onblur等,简单了解一下,记住几个常用的
' onfocus='alert(123)'
' onblur='alert(123)'
// 或者下面的写法也行
' onBlur=javascript:alert('aini')
成功绕过去了
点击以后确实有了弹框

第二种思路:闭合标签就不演示了,可以试一下有没有对标签进行转义,也是一种思路
1-4 第四关:

发现跟上一关一样的思路,先闭合属性试一下
" onclick="alert(123)
发现还真的可以

看到弹框了,还可以试一试如下payload,也是可以的
'" onblur='alert(123)'
// 或者
'" onBlur=javascript:alert('aini')

使用闭合标签试一下看看
'"><script>alert(123)</script>
发现对<,/,>进行替换了,所以不能用这个方法了

1-5 第五关:

发现思路跟上面几关差不多,先闭合标签试一试
" onclick="alert(123)
发现对事件on做了过滤,在他们中间加了_

第二种思路,闭合标签,发现还是不行,对script标签也做了过滤

但是我们可以用的标签很多,可以用a标签的href 属性来构造payload
'"><a href='javascript:alert(123);'>点击我</a>
发现成功渲染了a标签,点击以后试一试

成功弹出了弹框

1-6 第六关:

还是一样的思路,闭合标签或者闭合属性,先闭合属性看看
发现在on上做了过滤

接下来闭合标签。用最简单的script标签试一试 ,老样子对script标签做了过滤

用a标签试一试 ,发现href属性做了过滤

接下来我们尝试大小写混合绕过,href大写试一试
'"><a HREF='javascript:alert(123);'>点击我</a>
发现绕过去了
用闭合属性试一下,同时大小写混合,也发现绕过去了,本道题核心思路就是大小写混写绕过
" ONclicl="alert(123)

1-7 第七关:

最基本的属性构造,标签闭合你们自己试一下,看看能不能绕过,我们先试一下大小写混写吧看看能不能绕过 ,发现对on字进项了整体替换

这样的话很好办了,尝试双写绕过,比如oonn,这样的话只会把中间的on替换为诶空,就剩下on了
" oonnclick="alert(123)
发现绕过去了,所以本道题思路是双写绕过,对script标签或者只要是整体替换为空的地方可以试一下

看到有弹框了

1-8 第八关:
我们发现我们输入的内容是input框的value,同时会当做友情链接a标签的href属性,我们尝试闭合a的href属性,构造新属性

发现内容输出在了a标签的href属性中,当我们测试的时候发现,javascript不仅加了_,并且使用了html实体编码,将特殊符号进行了编码,导致不能进行标签闭合,那么既然内容放到了某个标签的属性值里面,我们说过,属性值是可以进行编码绕过的,尝试html实体编码绕过。

尝试编码绕过
编码:
// 采用十进制ascii码
javascript:alert("jaden")
// 或者十六进制unicode编码
javascript:alert("jaden")
发现编码绕过的方式成功绕过去了

1-9 第九关:

思路跟上一关一样,先进行编码绕过
发现,上面的这几种绕过方式都不行了,但是看到一个友情链接,写上一个正确的http网址可以看到输出在了href属性中,也就是说,做了网址格式的校验,看后台代码发现其实就是http协议校验,那么我们可以巧用js代码中的注释符号 // 。
javascript:alert("aini")//http://www.baidu.com #但是前面的
javascript:alert("aini") // 要进行编码,不然会被加上_javascript:alert("jaden")//http://www.baidu.com
可以是可以,但是发现进行转义了,那我们就结合编码跟js语言的注释符//配合使用

javascript:alert("jaden")//http://www.baidu.com
就这样成功看到了弹窗

1-10 第十关:
发现上面的测试手段不太行了,但是查看页面源码发现了三个隐藏的input,那么根据他们的name构造传值,谁出来了谁就能利用 http://192.168.31.159/xss-labs/level10.php?keyword=well%20done!&t_lick=aa&t_history=bb&t_sort=dd
可以看到cc输出到了某个input标签的value属性对应的值的位置,那么我们构造如下代码,让它们的type改变,不再隐藏,并执行js代码。

根据三个input框的name值进行传值发现,t_sort传的值以作为value属性的值渲染到页面上
http://192.168.31.159/xss-labs/level10.php?keyword=well%20done!&t_lick=aa&t_history=bb&t_sort=dd

所以针对name属性为t_sort的input标签进行注入,可以闭合属性,构造新的属性,同时把type="hidden"属性替换掉,要不然看不到页面效果,payload如下
'" type='text' onclick='alert(123)'
'" type='text' onblur='javascript:alert("aini")'
// 注意,我们单纯的用带引号办法闭合前面的value="的双引号。

隐藏的文本框显示出来了,并且点击以后确实有了弹框

今天就闯10关把,下一个博客继续更新11-20关
相关文章:
【网络安全 --- xss-labs靶场通关(1-10关)】详细的xss-labs靶场通关思路及技巧讲解,让你对xss漏洞的理解更深刻
靶场安装: 靶场安装请参考以下博客,既详细有提供工具: 【网络安全 --- xss-labs靶场】xss-labs靶场安装详细教程,让你巩固对xss漏洞的理解及绕过技巧和方法(提供资源)-CSDN博客【网络安全 --- xss-labs通…...
Mathematics-Vocabulary·数学专业英语词汇
点击查看: Mathematics-Vocabulary数学专业英语词汇点击查看: Mathematics-Vocabulary-Offline数学专业英语词汇离线版本 Chinese-English translation英译汉The study of mathematics in English requires understanding the subject-specific vocabulary and terminology. Ma…...
画程序流程图
一。在线程序流程图。类图和时序图 Integrations | Mermaid 二。VSCODE画UML图和各种种 1.下载plantuml.jarReleases plantuml/plantuml GitHubGenerate diagrams from textual description. Contribute to plantuml/plantuml development by creating an account on GitHu…...
C++ 模板进阶
非类型模板参数 模板参数分为:类型模板参数与非类型模板参数 类型模板参数即:出现在模板参数列表中,跟在class或者typename之后的参数类型名称非类型模板参数即:用一个常量作为类(函数)模板的一个参数,在类(函数)模…...
jenkins 安装与使用、用户权限划分
jenkins 安装与使用 安装插件: 开启该插件功能 验证用户管理 创建web01~02 使用web01登录 用户权限划分 安装 Role-Based Strategy 插件后,系统管理 中多了如图下所示的一个功能,用户权限的划分就是靠他来做的 创建角色 重新访问 创建项目…...
Hadoop3教程(三十三):(生产调优篇)慢磁盘监控与小文件归档
文章目录 (161)慢磁盘监控(162)小文件归档小文件过多的问题如何对小文件进行归档 参考文献 (161)慢磁盘监控 慢磁盘,是指写入数据时特别慢的一类磁盘。这种磁盘并不少见,当机器运行…...
物联网知识复习
物联网的内涵和体系结构 物联网的基本内涵 物联网的基本内涵在于物联,物物相连或者物和人相连的互联网。 也就是说,它是要由物主动发起的,物物互联的互联网。 它的第一层意思是说物和物相连;第二层意思是说物和人相连。 物联网的…...
Golang爬虫入门指南
引言 网络爬虫是一种自动化程序,用于从互联网上收集信息。随着互联网的迅速发展,爬虫技术在各行各业中越来越受欢迎。Golang作为一种高效、并发性好的编程语言,也逐渐成为爬虫开发的首选语言。本文将介绍使用Golang编写爬虫的基础知识和技巧…...
1024渗透测试如何暴力破解其他人主机的密码(第十一课)
1024渗透测试如何暴力破解其他人主机的密码(第十一课) 1 crunch 工具 crunch是一个密码生成器,一般用于在渗透测试中生成随机密码或者字典攻击。下面是常见的一些使用方法: 生成密码字典 生成6位数字的字典:crunch 6 6 -t -o dict.txt …...
记录一次线下渗透电气照明系统(分析与实战)
项目地址:https://github.com/MartinxMax/S-Clustr 注意 本次行动未造成任何设备损坏,并在道德允许范围内测试 >ethical hacking< 发现过程 在路途中,发现一个未锁的配电柜,身为一个电工自然免不了好奇心(非专业人士请勿模仿,操作不当的话220V人就直了) 根据照片,简…...
Android ADB 常用命令及详解
Android ADB 常用命令及详解 Android Debug Bridge(ADB)是 Android 开发工具包(SDK)的一部分,用于与 Android 设备通信和执行各种任务。无论你是 Android 开发者还是普通用户,了解 ADB 命令是非常有用的&a…...
GO 工程下载依赖操作流程(go mod)
1. 写一个main.go文件 package main import ("fmt""net/http""github.com/ClickHouse/clickhouse-go" ) func main() {fmt.Println("服务启动......")http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Requ…...
[Linux打怪升级之路]-system V共享内存
前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 本期学习目标&…...
STM32不使用 cubeMX实现外部中断
这篇文章将介绍如何不使用 cubeMX完成外部中断的配置和实现。 文章目录 前言一、文件加入工程二、代码解析exti.cexti.hmain.c 注意:总结 前言 实验开发板:STM32F103C8T6。所需软件:keil5 , cubeMX 。实验目的:如何不…...
Nautilus Chain 与 Coin98 生态达成合作,加速 Zebec 生态亚洲战略进
目前,行业内首个模块化 Layer3 架构公链 Nautilus Chain 已经上线主网,揭示了模块化区块链领域迎来了全新的进程。在主网上线后,Nautilus Chain 将扮演 Zebec 生态中最重要的底层设施角色,并将为 Zebec APP 以及 Zebec Payroll 规…...
method.isAnnotationPresent(Xxx.class)一直为null
package com.dj.springtest.aspect;import com.dj.springtest.annotation.RequireRoles; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.s…...
基于CNN实现谣言检测 - python 深度学习 机器学习 计算机竞赛
文章目录 1 前言1.1 背景 2 数据集3 实现过程4 CNN网络实现5 模型训练部分6 模型评估7 预测结果8 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 基于CNN实现谣言检测 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐&am…...
MySQL——七、MySQL备份恢复
MySQL 一、MySQL日志管理1、MySQL日志类型2、错误日志3、通用查询日志4、慢查询日志5、二进制日志5.1 开启日志5.2 二进制日志的管理5.3 日志查看5.4 二进制日志还原数据 二、MySQL备份1、备份类型逻辑备份优缺点 2、备份内容3、备份工具3.1 MySQL自带的备份工具3.2 文件系统备…...
iOS如何实现语音转文字功能?
1.项目中添加权限 Privacy - Speech Recognition Usage Description : 需要语音识别权限才能实现语音转文字功能 2.添加头文件 #import <AVFoundation/AVFoundation.h> #import<Speech/Speech.h> 3.实现语音转文字逻辑: 3.1 根据wav语音文件创建请求 SFSpeechU…...
【下载器篇】获取微软应用商店应用安装包的方法
【下载器篇】获取微软应用商店应用安装包的方法 微软应用商店历史版本应用下载方法,部分历史版本无法搜索到—【蘇小沐】 文章目录 【下载器篇】获取微软应用商店应用安装包的方法1.实验环境 (一)微软商店的在线链接生成器1、复制该应用的在…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
