2025.1.21——六、BUU XSS COURSE 1 XSS漏洞|XSS平台搭建
题目来源:buuctf BUU XSS COURSE 1
目录
一、打开靶机,整理信息
二、解题思路
step 1:输入框尝试一下
step 2:开始xss注入
step 3:搭建平台
三、小结
二编:可接收响应的xss平台
step 3:搭建平台,创建项目
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