BUUCTF_XSS-Lab

news2025/2/7 16:08:17

xss

XSS(Cross - Site Scripting)即跨站脚本攻击,是一种常见的 Web 安全漏洞。攻击者通过在目标网站注入恶意脚本(通常是 JavaScript),当其他用户访问该网站时,这些恶意脚本会在用户的浏览器中执行,从而达到窃取用户敏感信息(如 Cookie、会话令牌等)、篡改页面内容、重定向用户到恶意网站等目的。为了与层叠样式表(CSS)区分,所以将其简称为 XSS。

XSS 攻击的类型

反射型 XSS
  • 原理:攻击者构造包含恶意脚本的 URL,诱导用户点击。当用户访问该 URL 时,服务器会将恶意脚本作为响应的一部分返回给浏览器,浏览器会执行该脚本。
  • 示例
    假设有一个搜索页面 search.php,它会将用户输入的搜索关键词显示在页面上。攻击者构造如下 URL:
 
http://example.com/search.php?keyword=<script>alert('XSS')</script>
 

如果服务器没有对用户输入进行正确的过滤和转义,当用户点击该 URL 时,浏览器会弹出一个显示 “XSS” 的警告框。

存储型 XSS
  • 原理:攻击者将恶意脚本提交到目标网站的数据库中,当其他用户访问包含该恶意脚本的页面时,浏览器会执行该脚本。
  • 示例
    在一个留言板网站上,攻击者在留言内容中输入,当其他用户查看该留言时,恶意脚本会在他们的浏览器中执行,将他们的 Cookie 信息发送到攻击者的服务器。

DOM 型 XSS
  • 原理:基于 DOM(文档对象模型)的 XSS 攻击不依赖服务器端处理,而是通过修改页面的 DOM 结构来注入恶意脚本。攻击者通过构造特殊的 URL 或用户输入,使得页面的 JavaScript 代码在处理这些输入时,将恶意脚本插入到 DOM 中并执行。

做题步骤

打开靶场,发现是xss闯关模式

点击图片

方法一:直接闯关

xss语句还有许多看不懂,卡住了,准备先学习一下,再依次闯关

1-20关参考链接:XSS_Lab(详解版)        XSS-Lab(XSS注入笔记1-16)

XSS_Lab(答案)

 

level1(直接注入)

观察URL,在参数name处上传JS代码进行测试,GET传参,出现弹窗。

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

  • <script> 标签用于在 HTML 文档中嵌入或引用 JavaScript 代码。这段代码中的 JavaScript 代码 alert('xss') 是调用 alert() 函数,该函数会弹出一个包含字符串 'xss' 的警告框。

 

level2 (闭合双引号注入)

直接插入level 1中的JS代码<script>alert('xss')</script>,并没有出现弹窗,通过右键查看网页源代码,发现我们输入的JS代码在双引号内,因此需要通过闭合双引号进行绕过。

 如果 <script> 标签的属性值使用了双引号,那么在 <script> 标签内部使用单引号包裹字符串可以避免引号冲突。反之,如果 <script> 标签处于一个单引号包围的 HTML 属性值中,那么 <script> 内部使用双引号会更合适。

(怎么判断用单引号还是双引号,)

(输入进去源代码没有显示,不清楚是哪一步出错了)

 

方法二:尝试跳过关卡

尝试输入,发现level20有回显,level21无回显,说明只有20关。

 

查看网页源代码,得flag

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

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

相关文章

新能源算力战争:为什么AI大模型需要绿色数据中心?

新能源算力战争:为什么AI大模型需要绿色数据中心? 近年来,人工智能(AI)大模型的爆发式增长正在重塑全球科技产业的格局。以GPT-4、Gemini、Llama等为代表的千亿参数级模型,不仅需要海量数据训练,更依赖庞大的算力支撑。然而,这种算力的背后隐藏着一个日益严峻的挑战——…

go gin配置air

一、依赖下载 安装最新&#xff0c;且在你工作区下进行安装&#xff0c;我的是D:/GO是我的工作区&#xff0c;所有项目都在目录下的src&#xff0c; go install github.com/air-verse/airlatest 如果出现类似报错&#xff1a; 将图中第三行 github.com/air-verse/air 替换最…

【C语言系列】深入理解指针(5)

深入理解指针&#xff08;5&#xff09; 一、sizeof和strlen的对比1.1sizeof1.2strlen1.3sizeof和strlen的对比 二、数组和指针笔试题解析2.1 一维数组2.2 字符数组2.2.1代码1&#xff1a;2.2.2代码2&#xff1a;2.2.3代码3&#xff1a;2.2.4代码4&#xff1a;2.2.5代码5&#…

JVM图文入门

往期推荐 【已解决】redisCache注解失效&#xff0c;没写cacheConfig_com.howbuy.cachemanagement.client.redisclient#incr-CSDN博客 【已解决】OSS配置问题_keyuewenhua.oss-cn-beijing.aliyuncs-CSDN博客 【排坑】云服务器docker部署前后端分离项目域名解析OSS-CSDN博客 微服…

使用 Ollama 在腾讯云服务器环境部署 DeepSeek 大模型实战指南

文章目录 前言Ollama核心特性 实战步骤安装 Ollama验证安装结果部署 DeepSeek 模型拉取模型启动模型 交互体验命令行对话调用 REST API 总结个人简介 前言 近年来&#xff0c;大语言模型&#xff08;LLM&#xff09;的应用逐渐成为技术热点&#xff0c;而 DeepSeek 作为国产开…

C++ 学习:深入理解 Linux 系统中的冯诺依曼架构

一、引言 冯诺依曼架构是现代计算机系统的基础&#xff0c;它的提出为计算机的发展奠定了理论基础。在学习 C 和 Linux 系统时&#xff0c;理解冯诺依曼架构有助于我们更好地理解程序是如何在计算机中运行的&#xff0c;包括程序的存储、执行和资源管理。这对于编写高效、可靠…

网络安全 | 零信任架构:重构安全防线的未来趋势

网络安全 | 零信任架构&#xff1a;重构安全防线的未来趋势 一、前言二、零信任架构的核心概念与原理2.1 核心概念2.2 原理 三、零信任架构的关键技术组件3.1 身份管理与认证系统3.2 授权与访问控制系统3.3 网络与安全监测系统3.4 加密与数据保护技术 四、零信任架构与传统安全…

告别手动操作!用Ansible user模块高效管理 Linux账户

在企业运维环境中&#xff0c;服务器的用户管理是一项基础但非常重要的任务。比如&#xff0c;当有新员工加入时&#xff0c;我们需要在多台服务器上为他们创建账户并分配合适的权限。而当员工离职或岗位发生变化时&#xff0c;我们也需要迅速禁用或删除他们的账户&#xff0c;…

将Windows下的USB设备共享给WSL(ubuntu)

前言 本文用于学习记录&#xff0c;文中提到的方法也来自于网上资料&#xff0c;如有不对请指出&#xff0c;谢谢&#xff01; 微软官方参考链接&#xff1a;https://learn.microsoft.com/zh-cn/windows/wsl/connect-usb 如果没有特殊标注&#xff0c;以下命令均在Windows终…

lneaught SyntaxError :lnexpected tokenPIaYE(at chunk 5728.bdff1b31.is:1:1)

1.遇到问题&#xff1a; lneaught SyntaxError :lnexpected tokenPIaYE(at chunk 5728.bdff1b31.is:1:1) 当我部署到nginx上之后&#xff0c;第一次测试 没有啥问题当我点击登录之后&#xff0c;然后测试一个删除按钮之后就爆这个错误。 2.原因分析&#xff1a; 我遇到的是缓…

MySQL中like模糊查询如何优化?

大家好&#xff0c;我是锋哥。今天分享关于【MySQL中like模糊查询如何优化&#xff1f;】面试题。希望对大家有帮助&#xff1b; MySQL中like模糊查询如何优化&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在MySQL中&#xff0c;LIKE模糊查询通常会影…

Android 约束布局ConstraintLayout整体链式打包居中显示

Android 用约束布局ConstraintLayout实现将多个控件视作一个整体居中显示&#xff0c;使用 app:layout_constraintHorizontal_chainStyle"packed"实现 chain 除了链条方向有横向和竖向区分外&#xff0c; chain链条上的模式有 3种 spread - 元素将被展开&#…

4 前端前置技术(上):AJAX技术、Axios技术(前端发送请求)

文章目录 前言一、Ajax技术&#xff08;从服务端获取数据&#xff0c;发送各种请求&#xff09;0 接口文档管理&#xff1a;使用apipost等接口测试软件创建接口便于前端后端分离测试1 基本概念2 原生Ajax使用示例&#xff08;几年前的早期用法&#xff09; 二、 Axios技术(对原…

【赵渝强老师】Spark RDD的依赖关系和任务阶段

Spark RDD彼此之间会存在一定的依赖关系。依赖关系有两种不同的类型&#xff1a;窄依赖和宽依赖。 窄依赖&#xff1a;如果父RDD的每一个分区最多只被一个子RDD的分区使用&#xff0c;这样的依赖关系就是窄依赖&#xff1b;宽依赖&#xff1a;如果父RDD的每一个分区被多个子RD…

前缀和练习——洛谷P8218:求区间和

题目: 这道题很简单&#xff0c;直接根据题目无脑套公式 代码&#xff1a; #include<bits/stdc.h> using namespace std; const int N 1e5 9; using ll long long; ll a[N], perfix[N]; int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);//取消同步输…

Python----Python高级(并发编程:线程Thread,多线程,线程间通信,线程同步,线程池)

一、线程Thread 1.1、线程 线程&#xff08;Thread&#xff09;是操作系统能够进行运算调度的最小单位。它被包含在进程之中&#xff0c;是进程中的实际运作单位线程是程序执行的最小单位&#xff0c;而进程是操作系统分配资源的最小单位&#xff1b;一个进程由一个或多个线程…

八大排序算法细讲

目录 排序 概念 运用 常见排序算法 插入排序 直接插入排序 思想&#xff1a; 步骤&#xff08;排升序&#xff09;: 代码部分&#xff1a; 时间复杂度&#xff1a; 希尔排序 思路 步骤 gap的取法 代码部分&#xff1a; 时间复杂度&#xff1a; 选择排序 直接选…

鲜牛奶订购系统的设计与实现

&#x1f345;点赞收藏关注 → 添加文档最下方联系方式咨询本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345; 项目视频 基…

ESP32开发学习记录---》GPIO

she 2025年2月5日&#xff0c;新年后决定开始充电提升自己&#xff0c;故作此记,以前没有使用过IDF开发ESP32因此新年学习一下ESP32。 ESPIDF开发环境配置网上已经有很多的资料了&#xff0c;我就不再赘述&#xff0c;我这里只是对我的学习经历的一些记录。 首先学习一个…

智慧停车系统:不同规模停车场的应用差异与YunCitys解决方案

在智慧停车领域&#xff0c;不同规模停车场因自身特点&#xff0c;对智慧停车系统的需求和应用效果存在显著差异。云创智城凭借丰富的经验和先进的技术&#xff0c;为各类规模停车场打造了贴合需求的智慧停车系统&#xff0c;下面为您详细剖析。 小型停车场&#xff1a;精准高…