当前位置: 首页 > news >正文

2025.1.21——六、BUU XSS COURSE 1

题目来源:buuctf BUU XSS COURSE 1

一、打开靶机,整理信息

        有吐槽和登陆两个尝试点,题目名称提示是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平台会收到信息,今天做题没收到,不知道那里出了问题

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平台搭建还需要研究一下

http://www.lryc.cn/news/525363.html

相关文章:

  • Linux - 五种常见I/O模型
  • 【负载均衡式在线OJ】加载题目信息(文件版)
  • “上门按摩” 小程序开发项目:基于 SOP 的全流程管理
  • WPF1-从最简单的xaml开始
  • 2025牛客寒假算法营2
  • 编译Android平台使用的FFmpeg库
  • 【C++高并发服务器WebServer】-2:exec函数簇、进程控制
  • 力扣707题(2)——设计链表
  • K8S中ingress详解
  • SpringBoot打包为JAR包或WAR 包,这两种打包方式在运行时端口将如何采用?又有什么不同?这篇文章将给你解惑
  • zabbix6.0安装及常用监控配置
  • SQL-leetcode—1179. 重新格式化部门表
  • JavaWeb 学习笔记 XML 和 Json 篇 | 020
  • 在Raspbian上,如何获取树莓派的CPU当前频率
  • 网络打印机的搜索与连接(一)
  • LangChain + llamaFactory + Qwen2-7b-VL 构建本地RAG问答系统
  • 【自然语言处理(NLP)】介绍、发展史
  • 1.CSS的三大特性
  • 【分布式日志篇】从工具选型到实战部署:全面解析日志采集与管理路径
  • 基于springcloud汽车信息分析与可视化系统
  • TOGAF之架构标准规范-信息系统架构 | 数据架构
  • Databend x 沉浸式翻译 | 基于 Databend Cloud 构建高效低成本的业务数据分析体系
  • cuda的并行运算介绍
  • 「全网最细 + 实战源码案例」设计模式——抽象工厂模式
  • 领域驱动设计(DDD)四 订单管理系统实践步骤
  • leetcode 面试经典 150 题:简化路径
  • 基于 STM32 的智能农业温室控制系统设计
  • 【Spring Boot】掌握 Spring 事务:隔离级别与传播机制解读与应用
  • 【Postgres_Python】使用python脚本将多个PG数据库合并为一个PG数据库
  • Tailwind CSS v4.0 发布