2025.1.21——六、BUU XSS COURSE 1 XSS漏洞|XSS平台搭建

news2025/1/26 14:42:25

题目来源:buuctf BUU XSS COURSE 1

目录

一、打开靶机,整理信息

二、解题思路

step 1:输入框尝试一下

step 2:开始xss注入

step 3:搭建平台

step 4:利用管理员cookie访问地址

三、小结

二编:可接收响应的xss平台

step 3:搭建平台,创建项目

step 4:接收到响应,拿到cookie进行下一步

step 5:抓包修改数据/或在网页直接处理

1.抓包修改数据

2.网页直接处理


一、打开靶机,整理信息

        有吐槽和登陆两个尝试点,题目名称提示是XSS漏洞

XSS(Cross-Site Scripting)漏洞

1.定义:跨站脚本攻击,是一种常见的 Web 安全漏洞。攻击者通过在目标网站注入恶意脚本,当用户访问该网站时,这些脚本会在用户的浏览器中执行,从而实现窃取用户信息、篡改页面内容等恶意行为。

2.原理:Web 应用在处理用户输入时,未对其中的特殊字符进行充分过滤或转义,直接将用户输入嵌入到页面中。当其他用户访问包含恶意脚本的页面时,浏览器会执行这些脚本,导致用户信息泄露或页面被篡改。

理解:SQL注入是将用户输入信息接入到SQL语句中,XSS漏洞是将特殊字符(恶意脚本)嵌入页面中,执行脚本,则会导致信息泄露或页面被篡改

3.类型

(1)反射型XSS

        ①特点:攻击者诱使用户点击包含恶意脚本的 URL,服务器接收到请求后将恶意脚本反射到响应页面中脚本在用户浏览器中执行。这种类型的 XSS 通常不会将恶意脚本存储在服务器端。

        ②常见场景:搜索引擎/搜索框,如果未对用户输入进行过滤,攻击者可以构造包含恶意脚本的搜索关键词,用户点击链接后,搜索结果页面会返回包含该脚本的页面,脚本在用户浏览器中执行。

(2)存储型XSS

        ①特点:攻击者将恶意脚本存储在服务器端,如数据库。当其他用户访问包含该恶意脚本的页面时,脚本会在其浏览器中执行。这种类型的 XSS 危害更大,因为它会影响多个用户。

        ②常见场景:论坛留言板、评论区,如果用户留言未经过严格过滤,攻击者可以发布包含恶意脚本的留言,该留言存储在数据库中。其他用户查看该留言时,恶意脚本会在其浏览器中执行。

(3)DOM型XSS

        ①特点:基于 DOM(文档对象模型)的 XSS 攻击,通过修改页面的 DOM 结构来注入恶意脚本。这种攻击不依赖于服务器端的响应,而是直接在客户端进行。

        ②常见场景:页面中使用 JavaScript 动态更新内容,如果对用户输入的内容处理不当,攻击者可以通过修改 URL 参数等方式注入恶意脚本,影响页面的 DOM 结构。

4.危害

(1)窃取用户信息:如cookie、会话令牌等,进而冒充用户身份进行操作。

(2)篡改页面内容:在页面中注入恶意脚本,篡改页面的显示内容,误导用户。

(3)实时钓鱼攻击:将用户重定向到伪造的登录页面,骗取用户的账号和密码。

(4)传播恶意软件:在页面中注入下载恶意软件的脚本,使用户的设备感染病毒。

所以两个尝试点:①吐槽页面可以留言,容易出现存储型XSS;②登陆界面,但不确定能不能注入,毕竟不知道用户名和密码而且还没有注册入口,且这道题主要为XSS漏洞

二、解题思路

step 1:输入框尝试一下

        输入1,发现会回显出保存路径

        看到url结尾也是/#/,访问一下

        正常回显出来了,所以思路为:输入恶意脚本,然后访问,也就是执行脚本

step 2:开始xss注入

        输入:<script>alert(1)</script>,得到正常保存路径,访问一下

        啥也没有,猜测被过滤了,重新构造一下:<IMG SRC="javascript.:alert('XSS');">

发现一个打不开的图片,所以确实存在xss漏洞,有可能是过滤掉了<script>

step 3:搭建平台

        搭建内网xss平台XSS平台-XSS测试网站-仅用于安全免费测试

        注册账号→登陆→创建项目→复制img的配置代码,在“树洞内容”提交。

        按理说xss平台会收到信息,今天做题没收到,不知道那里出了问题,搜寻了很多师傅的wp,要么没有详细说这里的平台,要么给了平台,但是我接收不到内容

step 4:利用管理员cookie访问地址

Cookie

Cookie 是在 Web 服务器和浏览器之间传递的小段数据。它由服务器发送到用户浏览器并保存在本地,当用户再次访问该网站时,浏览器会将 Cookie 信息发送回服务器,用于识别用户身份、记录用户偏好等。

会话存储(Session Storage):会话期间数据会一直保留,当用户关闭浏览器窗口或标签页时,存储的数据会被清除

        假设成功收到访问记录,就利用管理员cookie访问地址了,像这样

        然后根据提示,拿cookie登陆,就可以在admin的cookie值看到flag

        摘自:BUU XSS COURSE 1-CSDN博客

三、小结

1.存储型XSS常见于评论区、留言板等。做题步骤为搭建xss平台→复制响应代码上传到注入点→xss平台得到响应→拿到cookie等数据→用cookie值进行登陆访问,得到flag值

2.xss平台搭建还需要研究一下


二编:可接收响应的xss平台

终于找到了能接收响应的xss平台了:XSS安全平台

接着做

step 3:搭建平台,创建项目

        上述网站中注册账号→登陆进去→创建项目→配置代码要勾选超强默认模块(用来做题的项目已创建,这里test项目用来示范一下)

        项目创建成功以后,这里复制红色框内容,然后在靶机树洞框中提交

step 4:接收到响应,拿到cookie进行下一步

        配置代码在树洞框提交成功以后,我们的项目会接收到内容(做题用的cookie项目)

        展开信息后,可以看到数据信息

        得到cookie信息,和我们访问的吐槽(也就是请求头Request Headers),可以进行抓包修改数据了

step 5:抓包修改数据/或在网页直接处理

1.抓包修改数据

        我们抓到包以后,访问/backend/admin.php,将cookie数据修改为我们拿到的数据,然后放包,可以看到响应处反馈了flag信息

2.网页直接处理

        上面红色框为访问路径,下面红色框是我们要修改的cookie数据

        修改后得到下面flag

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

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

相关文章

微信小程序使用上拉加载onReachBottom。页面拖不动。一直无法触发上拉的事件。

1&#xff0c;可能是原因是你使用了scroll-view的标签&#xff0c;用onReachBottom触发加载事件。这两个是有冲突的。没办法一起使用。如果页面的样式是滚动的是无法去触发页面的onReachBottom的函数的。因此&#xff0c;你使用overflow:auto.来使用页面的某些元素滚动&#xf…

Linux-arm(1)ATF启动流程

Linux-arm(1)ATF启动流量 Author&#xff1a;Once Day Date&#xff1a;2025年1月22日 漫漫长路有人对你微笑过嘛… 全系列文章可查看专栏: Linux实践记录_Once_day的博客-CSDN博客 参考文档&#xff1a; ARM Trusted Firmware分析——启动、PSCI、OP-TEE接口 Arnold Lu 博…

docker 部署 java 项目详解

在平常的开发工作中&#xff0c;我们经常需要部署项目&#xff0c;开发测试完成后&#xff0c;最关键的一步就是部署。今天我们以若依项目为例&#xff0c;总结下部署项目的整体流程。简单来说&#xff0c;第一步&#xff1a;安装项目所需的中间件&#xff1b;第二步&#xff1…

ARM64平台Flutter环境搭建

ARM64平台Flutter环境搭建 Flutter简介问题背景搭建步骤1. 安装ARM64 Android Studio2. 安装Oracle的JDK3. 安装 Dart和 Flutter 开发插件4. 安装 Android SDK5. 安装 Flutter SDK6. 同意 Android 条款7. 运行 Flutter 示例项目8. 修正 aapt2 报错9. 修正 CMake 报错10. 修正 N…

MySQL5.7安装超详细步骤(图文教程)

一.下载MySQL 1.在浏览器搜索MySQL&#xff0c;进入MySQL官网&#xff0c;点击下载&#xff0c;选下面的社区版本。 官网地址&#xff1a;MySQL :: Download MySQL Installer (Archived Versions) 二.安装MySQL 1.双击下载好的文件&#xff0c;选择自定义安装&#xff0c;然…

Tomcat下载配置

目录 Win下载安装 Mac下载安装配置 Win 下载 直接从官网下载https://tomcat.apache.org/download-10.cgi 在圈住的位置点击下载自己想要的版本 根据自己电脑下载64位或32位zip版本 安装 Tomcat是绿色版,直接解压到自己想放的位置即可 Mac 下载 官网 https://tomcat.ap…

语音转文字的先驱-认识Buzz的前世今生

Buzz 是一款基于 OpenAI Whisper 模型开发的开源语音转文字工具&#xff0c;其历史可以追溯到 Whisper 模型的推出&#xff0c;并在之后逐渐发展为一个功能强大且广泛使用的工具。以下是关于 Buzz 的详细历史介绍&#xff1a; 1. Whisper 模型的背景 Buzz 的核心是 OpenAI 开…

WPF5-x名称空间

1. x名称空间2. x名称空间内容3. x名称空间内容分类 3.1. x:Name3.2. x:Key3.3. x:Class3.4. x:TypeArguments 4. 总结 1. x名称空间 “x名称空间”的x是映射XAML名称空间时给它取的名字&#xff08;取XAML的首字母&#xff09;&#xff0c;里面的成员&#xff08;如x:Class、…

JavaWeb开发学习笔记——MySQL

跟着黑马程序员学习MySQLDay06-04. MySQL-DDL-数据库操作_哔哩哔哩_bilibili 注意&#xff0c;以下笔记中[ ]中都是可省略内容&#xff0c;如果不省略&#xff0c;那么直接写即可&#xff0c;不带[ ] MySQL-DDL 数据库操作 连接MySQL服务器&#xff1a;mysql -uroot -p密码…

CSS实现实现票据效果 mask与切图方式

一、“切图”的局限性 传统的“切图”简单暴力,但往往缺少适应性。 适应性一般有两种,一是尺寸自适应,二是颜色可以自定义。 举个例子,有这样一个优惠券样式 关于这类样式实现技巧,之前在这篇文章中有详细介绍: CSS 实现优惠券的技巧 不过这里略微不一样的地方是,两个…

【二叉树的深搜】二叉树剪枝

文章目录 814. 二叉树剪枝解题思路&#xff1a;深度优先遍历 后序遍历另一种写法 814. 二叉树剪枝 814. 二叉树剪枝 ​ 给你二叉树的根结点 root &#xff0c;此外树的每个结点的值要么是 0 &#xff0c;要么是 1 。 ​ 返回移除了所有不包含 1 的子树的原二叉树。 ​ 节点…

Codeforces Round 1000 (Div. 2) A-C

链接&#xff1a;Codeforces Round 1000 (Div. 2) A:Minimal Coprime 大意&#xff1a; 给定一个区间&#xff0c;定义最小互质区间是边界互质&#xff0c;边界内无互质区间。求这个区间最小互质区间个数 思路&#xff1a; gcd(l, l 1) gcd(1, l) 1,即相邻数组成的区间互…

基于Redis实现短信验证码登录

目录 1 基于Session实现短信验证码登录 2 配置登录拦截器 3 配置完拦截器还需将自定义拦截器添加到SpringMVC的拦截器列表中 才能生效 4 Session集群共享问题 5 基于Redis实现短信验证码登录 6 Hash 结构与 String 结构类型的比较 7 Redis替代Session需要考虑的问题 8 …

校验收货地址是否超出配送范围实战3(day09)

优化用户下单功能&#xff0c;加入校验逻辑&#xff0c;如果用户的收货地址距离商家门店超出配送范围&#xff08;配送范围为5公里内&#xff09;&#xff0c;则下单失败。 提示&#xff1a; ​ 1. 基于百度地图开放平台实现&#xff08;https://lbsyun.baidu.com/&#xff09…

Vue2.0+ElementUI实现查询条件展开和收起功能组件

一、需求 el-form如果查询条件过多&#xff0c;影响页面的展示效果。查询条件表单是我们系统中非常常见的功能&#xff0c;我们需要把它封装成一个通用的组件&#xff0c;方便在系统开发中提升开发效率。除了在实现基本查询条件的功能上&#xff0c;还需要实现多条件的折叠和展…

UE求职Demo开发日志#8 强化前置条件完善,给物品加图标

1 强化前置条件完善 StrengthManager里实现一个Check前置的函数 bool CheckPreAllIsActive(int index)&#xff0c;所有的前置都已经激活就返回true&#xff0c;否则返回false 之后在强化的时候加入条件检查&#xff1a; 1.所有前置技能全部激活 2.本身没有强化过 最后测…

pinctrl子系统

目录 一、PinCtrl子系统的定义 二、明确PinCtrl子系统和我们编写驱动的关系 三、pinctrl_desc结构体引入 四、PinCtrl子系统驱动实现分析 1.芯片厂家是如何实现PinCtrl子系统的 2.linux在什么位置设置的引脚复用和电气属性 2.1 really_probe的主要功能 2.2 really_prob…

行政纠错——pycorrector学习

pycorrector是一个开源中文文本纠错工具&#xff0c;它支持对中文文本进行音似、形似和语法错误的纠正。此工具是使用Python3进行开发的&#xff0c;并整合了Kenlm、ConvSeq2Seq、BERT、MacBERT、ELECTRA、ERNIE、Transformer等多种模型来实现文本纠错功能。pycorrector官方仓库…

深入MapReduce——计算模型设计

引入 通过引入篇&#xff0c;我们可以总结&#xff0c;MapReduce针对海量数据计算核心痛点的解法如下&#xff1a; 统一编程模型&#xff0c;降低用户使用门槛分而治之&#xff0c;利用了并行处理提高计算效率移动计算&#xff0c;减少硬件瓶颈的限制 优秀的设计&#xff0c…

React+Cesium基础教程(001):创建基于React的Cesium项目及对Cesium进行基本配置

文章目录 01-基于react的cesium项目创建基于React的Cesium项目Cesium基本配置设置默认启动视角完整项目下载地址01-基于react的cesium项目 创建基于React的Cesium项目 创建react项目: create-react-app react-cesium-basic安装[cesium1.93.0]版本: npm install cesium@1.…