重生之我是赏金猎人-SRC漏洞挖掘(九)-从本无法触发的xss到梦幻联动挖掘多个致命接口下的XSS触发点

news2024/9/28 17:25:14

0x00 前言

https://github.com/J0o1ey/BountyHunterInChina

欢迎亲们点个star

作者:画风@m78sec

在不久前参加了一次众测项目,需对某厂商的系统进行漏洞挖掘

在测试一套系统时,发现了很有意思的接口,可以操作另外两个站的输出点,以此导致多处XSS触发

0x01:初探Vulnerabilities

系统的URL是这样的:https://xxx.com/passport/?fromUrl=https://xxx.com/

显然这样的url容易出现Open Redirect XSS CRLF注入的漏洞,其次还有以下这样的参数:

redirect   ref  redirect_to  redirect_url  url  jump  jump_to  target  to  link  linkto  domain  server

比较随意的测试一番

https://xxx.com/passport/?fromUrl=https://www.baidu.com

https://xxx.com/passport/?fromUrl=https://www.baidu.com.eval.com

https://xxx.com/passport/?fromUrl=https://www.baidu.com@www.eval.com

https://xxx.com/passport/?fromUrl=javascript:alert(1)

https://xxx.com/passport/?fromUrl=xxxx%0D%0ASet-Cookie:hacker=crlf

(CRLF注入是否存在,查看cookie值是否包含hacker=crlf字样即可)

简单测试后发现并没有触发以上的漏洞

So只能深入到系统的功能点和接口做测试

0x02:深入虎穴

这边登录至系统进一步挖掘

(PS:登录后系统提示需要填写xxx信息,这样的情况我个人习惯会插入”><img/src=1>进行注册)

经过前期的信息收集下,使用子域名爆破工具,成功枚举出h5.xxx.com 这样的手机端网站

由于我们目前处于xxx.com这个域内的登录状态,所以我现在访问:

https://h5.xxx.com/ 也是一样处于登录状态(这种情况在大厂商中的账号登录以及一些SSO单点中较为常见)

点击右上方“我的” 进入个人中心页面

这边跳转进入到个人中心

看到个人资料这一功能,这代表着 可能存在

  • 修改资料导致XSS
  • 越权修改他人资料信息
  • 删除他人信息
  • 替换某参数的值越权查看他人资料
      等等…..一系列的逻辑问题

这边修改个人资料并且使用XSS镶入页面的上下文   x"><svg/οnlοad=alert(1)>

截图的时候忘记把payload改过来了 将就看看 :)

保存后,发现对用户名有限制,通过burpsuite修改返回包,但是无果

So只能重新填写打一遍了,只修改简介里为payload  昵称任意填写

最后成功在个人资料的简介里插入代码:https://user.xxx.com/h5/myUserInfo/

从上述来看 并没有太大用处

后续在想能否找到让他人通过我的个人资料ID值就可以预览到我的资料呢?

利用BurpSuite爬虫功能爬取了页面上的功能点接口

最终在https://h5.xxx.com/book/xxxx.html 的书籍作者中,找到了可以查询笔者的接口

https://user.xxx.com/see/h5/1574.html

拼接我个人资料的ID值 试试水:

https://user.xxx.com/see/h5/1548888.html

本来以为很容易就挖掘到存储XSS了,但事实并非如此,找到个人资料接口访问后,那个简历的信息并没有展示在页面的上下文

只显示了 我当时登录系统的作者笔名

从上所述分析,现在只需要找到一处可以修改作者笔名的功能,并且不限制输入字数的,那么便有机会触发存储XSS

经过一番接口爬取下and目录扫描,最终找到了一处没有任何过滤机制的网站下成功修改到了作者笔名:https://user.xxx.com/www/

修改作者笔名的接口较为隐蔽,藏在这个作者资料中。。

(因为上述联动了几个网站,我以为这个作者资料是修改的本站账号信息,后来发现这个接口,可以让前面系统上的笔名同时生效)

https://user.xxx.com/www/userinfo/contact.html

那么这里就根据规定填写资料就可以了,重点就是在作者笔名中插入payload

点击保存设置进行盲打!

最后就是到了见证奇迹的时候了。

在本站点中:https://user.xxx.com/www/xxx/?xx=1548888 触发漏洞

然后,回到上述步骤中,访问所拼接获得的个人资料url地址

接口一:https://user.xxx.com/see/h5/1548888.html

访问后发现上下文中并没有执行Javascript

但是通过“TA的荣誉”可以让漏洞成功触发(也就是接口二)

接口二:https://user.xxx.com/see/h5/xxx.html?id=1548888

访问后成功触发漏洞

当用户在浏览我的荣誉时,这个xss就会触发,构造恶意JS即可盗取信息

回到最上面的注册系统中,它其中还包含一个后台:

https://author.xxx.com/

在一处上下文中也成功触发了

0x03:总结

该漏洞本无法利用,但细心挖掘则通过一处致命的修改功能达到想要的成果

1、初探安全漏洞

2、深入挖掘功能点

3、巧用BurpSuite爬取页面上的URL

4、寻找漏洞可能会触发的位置

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

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

相关文章

Java高手速成 | Java web 实训之投票系统

01、投票系统的案例需求 在本篇中,我们将制作一个投票系统,让学生给自己喜爱的老师投票。该系统由1个界面组成,系统运行,出现投票界面,如图所示: ▍显示效果 在这个界面中,标题为:“欢迎给教师投票”;在界面上有一个表格,显示了各位教师的编号、姓名、得票数;其中…

使用JDBC实现QQ登录

在实际开发中&#xff0c;用户信息是存放在数据库中的&#xff0c;登录时的账号和密码信息也需要去数据库中查询&#xff0c;本节将使用JDBC技术来完善QQ登录案例。1.创建数据表&#xff0c;并添加用户数据在jdbc数据库中创建数据表tb_qquser,并在表中插入3条数据&#xff0c;其…

力扣sql简单篇练习(十七)

力扣sql简单篇练习(十七) 1 销售分析| 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # 可以考虑使用all函数 SELECT seller_id FROM Sales GROUP BY seller_id HAVING sum(price)>all(SELECT sum(price)FROM SalesGROUP BY seller_id )1.3 运行…

ChatGpt : 基于OpenAI + Flask快速搭建个人领域内的Q/A问答接口—嵌入网站内知识

文章目录学习前言OpenAI简介Q/A问答接口实现流程1、网络爬虫2、构建嵌入索引3、使用嵌入构建Q/A问答系统4、基于flask框架进行接口封装5、接口测试使用学习前言 最近ChatGpt太火热了&#xff0c;赶紧来了解一波相关情况… 目前来说ChatGpt只有2021年之前的知识&#xff0c;如果…

1.6 epoll实战使用

文章目录1、连接池2、epoll两种工作模式2.1、LT模式2.2、ET模式3、后端开发面试题4、epoll验证1、连接池 将每一个套接字和一块内存进行绑定&#xff0c;连接池就是一个结构体数组&#xff0c;通过链表来维护一个空闲连接。 1、ngx_get_connection(int fd)从空闲链表取一个空闲…

MySQL 中的事务详解

前言MySQL 中的事务操作&#xff0c;要么修改都成功&#xff0c;要么就什么也不做&#xff0c;这就是事务的目的。事务有四大特性 ACID&#xff0c;原子性&#xff0c;一致性&#xff0c;隔离性&#xff0c;持久性。A(Atomic),原子性&#xff1a;指的是整个数据库事务操作是不可…

vue2版本《后台管理模式》(下)

文章目录前言一、home 页以下都属于home子组件二、header 头部 组件二、Menu 页面三、Bread 面包屑四、Footer五 、分页器&#xff1a; Pageing![在这里插入图片描述](https://img-blog.csdnimg.cn/fbe9bb7e84a04ccda4d3fc9f4ab9c36b.png#pic_center)六、权限管理总结前言 这章…

MySQL中索引详解

目录 一.介绍 二.索引分类 三.MySQL的索引 介绍 普通索引 唯一索引 注意 主键索引 组合索引 全文索引 空间索引 删除索引 四.索引的原理 概述 Hash算法 二叉树 平衡二叉树 BTREE树 MyISAM引擎使用BTree 六.索引的特点 优点 缺点 创建索引原则 一.介绍 索引是通…

[翻译]GPDB中的文件空间与表空间

GPDB中的文件空间与表空间GreenPlum是一个快速、灵活、纯软件的分析数据处理引擎&#xff0c;具有一些工具和特性可以充分利用任意个数硬件或者虚拟环境用来部署集群。这里讨论的一个特性是使用文件空间将数据加载和查询活动与底层的IO卷匹配。一旦在集群中创建了一个物理文件空…

【C++】类与对象(三) 运算符重载 赋值重载 取地址及const取地址操作符重载

前言 本章我们接替前一章继续深入理解类的默认成员函数&#xff0c;赋值重载&#xff0c;取地址重载&#xff0c;及const取地址操作符重载 但是在讲剩下的三个默认成员函数之前&#xff0c;我们要先来了解运算符重载&#xff0c;因为赋值重载&#xff0c;取地址重载&#xff0c…

10分钟学会python对接【OpenAI API篇】

今天学习 OpenAI API&#xff0c;你将能够访问 OpenAI 的强大模型&#xff0c;例如用于自然语言的 GPT-3、用于将自然语言翻译为代码的 Codex 以及用于创建和编辑原始图像的 DALL-E。 首先获取生成 API 密钥 在我们开始使用 OpenAI API 之前&#xff0c;我们需要登录我们的 Op…

Linux 定时任务调度(crontab)整理,太实用了!

crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令&#xff0c;并将其存放于“crontab”文件中&#xff0c;以供之后读取和执行。可以使用crontab定时处理离线任务&#xff0c;比如每天凌晨2点更新数据等&#xff0c;经常用于系统任务调度。服务启动和关闭…

AWS攻略——创建VPC

文章目录创建一个可以外网访问的VPCCIDR主路由表DestinationTarget主网络ACL入站规则出站规则子网创建EC2测试连接创建互联网网关&#xff08;IGW&#xff09;编辑路由表参考资料在 《AWS攻略——VPC初识》一文中&#xff0c;我们在AWS默认的VPC下部署了一台可以SSH访问的机器实…

WRAN翻译

基于小波的图像超分辨残差注意力网络 Wavelet-based residual attention network for image super-resolution 代码&#xff1a; https://github.com/xueshengke/WRANSR-keras 摘要&#xff1a; 图像超分辨率技术是图像处理和计算机视觉领域的一项基础技术。近年来&#xff0c…

【流辰信息技术】做好数据管理,赋能行业全速提升产业效能

在经济快速发展的当下&#xff0c;正是各行各业大展拳脚&#xff0c;全力以赴奔赴产能提升的好契机。做好企业&#xff0c;不仅要有一颗发展雄心&#xff0c;而且还要学会运用正确的技术和发展战略&#xff0c;推动企业向前进。流辰信息技术是低代码开发领域里的服务商&#xf…

自动化测试高频面试题(含答案)

Hello&#xff0c;你们的好朋友来了&#xff01;今天猜猜我给大家带来点啥干货呢&#xff1f;最近很多小伙伴出去面试的时候经常会被问到跟自动化测试相关的面试题。所以&#xff0c;今天特意给大家整理了一些经常被公司问到的自动化测试相关的面试题。停&#xff0c;咱先收藏起…

「团队管理」前端开发者如何规划并构建UCD的中长期前端开发能力与团队

文章目录 前言一、个人规划1.1 技能和知识的提升1.2 用户研究和用户体验1.3 团队协作能力1.4 项目管理和交付能力1.5 技术创新和开发效率二、构建UCD团队2.1 人才招聘和培养2.2 角色定义和分工2.3 团队文化和价值观前言 UCD(用户中心设计)是一种基于用户需求的设计方法论,将…

五千字总结一枚测试妹纸不平凡的2022

大家好&#xff0c;我是美团程序员&#xff0c;一个混过大厂&#xff0c;待过创业公司&#xff0c;爱给开发同学提Bug的测试妹纸一枚。2022年&#xff0c;是工作的第六年&#xff0c;也是具有突破性成长的一年&#xff0c;一直挺喜欢六这个数字&#xff0c;果然不负期望&#x…

C控制语句(if,switch,goto)

一.if 1.if循环语句格式 if(expression1) statement1 else if(expression2) statement2 else if(expression3) statement3 . . . else statement(n) else if 可以使用也可以不是用。 这里我们用一个例子进行讲解 2.if else 注意事项 If else if else之间只允许有一条语句&…

Shell - 随时启动 + 固定时间启动脚本

一.引言 有一个线上任务需要在每 10 min内的 5min 后执行&#xff0c;例如 5:10、15:10 ...、55: 10&#xff0c;正常情况下需要查看 Clock Time&#xff0c;待时间到达 5min 后手动启动&#xff0c;下面实现随时启动脚本&#xff0c;定时在 x5:10 点执行。 二.实现 A.固定 5…