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

题目来源:buuctf BUU XSS COURSE 1

目录

一、打开靶机,整理信息

二、解题思路

[step 1:输入框尝试一下](#step 1:输入框尝试一下)

[step 2:开始xss注入](#step 2:开始xss注入)

[step 3:搭建平台](#step 3:搭建平台)

[step 4:利用管理员cookie访问地址](#step 4:利用管理员cookie访问地址)

三、小结

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

[step 3:搭建平台,创建项目](#step 3:搭建平台,创建项目)

[step 4:接收到响应,拿到cookie进行下一步](#step 4:接收到响应,拿到cookie进行下一步)

[step 5:抓包修改数据/或在网页直接处理](#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

相关推荐
掘金者阿豪2 分钟前
把业务数据变成共享仪表盘:Metabase可视化与远程访问实践
前端·后端
kyriewen22 分钟前
折腾了半年 AI 编程工作流,最后发现效率瓶颈是桌上那块屏幕
前端·javascript·ai编程
蜗牛前端1 小时前
codex 全流程开发上线的高颜值礼簿小程序
前端·微信小程序
大龄秃头程序员2 小时前
我在图文流 App 里落地双层缓存、弱网降级与 OOM 治理
前端
老王以为2 小时前
React Renderer 分离的多平台架构
前端·react native·react.js
hunterandroid2 小时前
Kotlin Coroutines 与 Flow:让异步任务更清晰
前端
Bigger2 小时前
从零搭建 AI 代码审查服务:一份前端也能看懂的 Python 学习笔记
前端·ci/cd·ai编程
lichenyang4532 小时前
JSAPI、NAPI、Biz、Imp:ASCF Demo 如何真正调用系统能力和 C++ 能力
前端
lichenyang4533 小时前
IPC、JSVM、UIThread、libuv:ASCF 架构图里最容易混的几个词
前端
用户059540174463 小时前
Redis记忆存储故障恢复测试踩坑实录:手动测试让我漏掉了2个一致性Bug
前端·css