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

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.kler.cn/a/516102.html

相关文章:

  • P1115 最大子段和
  • 人工智能在音频、视觉、多模态领域的应用
  • 踏浪而行,2024年技术创作的星光轨迹
  • c++瓷砖
  • 4. LwIP_网络数据包管理
  • Spring AI Document
  • 消息队列篇--原理篇--常见消息队列总结(RabbitMQ,Kafka,ActiveMQ,RocketMQ,Pulsar)
  • IoTDB结合Mybatis使用示例(增删查改自定义sql等)
  • electron打包报错解决
  • ThinkPHP 8模型与数据的插入、更新、删除
  • 转换模型到 bfloat16 精度之前需要做的检查工作,不然模型报错给你看
  • Java学习教程,从入门到精通,JDBC创建数据库语法知识点及案例代码(99)
  • SpringBoot读取配置优先级顺序是什么?
  • 【记录自开发的SQL工具】工具字符拼接、Excel转sql、生成编码、生成测试数据
  • verilog笔记1
  • jmeter中对接口进行循环请求后获取相应数据
  • 智能工厂数字化化集成落地项目(交付版 67页)PPT 解读
  • K8S 快速实战
  • 【ARTS】【LeetCode-704】二分查找算法
  • 洛谷刷题1-3