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

src挖掘-记一次有趣的逻辑漏洞分享

漏洞挖掘-记一次有趣的逻辑漏洞挖掘

  • 前言
  • 简述
  • 1、信息收集
  • 2、找功能点
  • 3、挖掘漏洞
    • 案例一:任意用户注册漏洞
    • 案例二-垂直越权导致管理员密码重置获得管理员后台权限
    • 漏洞总结

前言

此文章是小白的学习笔记,请不要利用文章内相关知识点进行非法渗透,仅做学习经验思路参考使用,产生的一切后果与文章作者无关。实战案例已上交src平台,实战案例已经进行打码处理,请遵守网络安全法律法规,禁止未授权测试。若有侵权请联系我删除,感谢!

简述

某天心血来潮想挖挖逻辑漏洞,想挖一下登录框处的逻辑漏洞,就简单的信息收集。随便找的一个登录框网站进行挖掘,最后发现注册点、找回密码处存在逻辑缺陷,可以通过一个手机号注册另一个手机号、可以修改userid值进行垂直越权进行任意密码重置获得后台权限。

1、信息收集

登录框漏洞挖掘信息收集思路
fofa语法

host="com" && body="login/findpwd"

在这里插入图片描述

host="com" && body="登录"

在这里插入图片描述

host="com" && body="注册"

在这里插入图片描述

通过浏览器

site:com intext:注册

site:com body:注册

site:com title:注册

通过钟馗之眼、360等等

2、找功能点

潦草的进行信息收集找到一个登录框功能点,发现有注册和找回的逻辑功能点,这种类型的功能点一般有任意用户注册就有极大可能有任意用户密码重置
在这里插入图片描述

在这里插入图片描述

3、挖掘漏洞

案例一:任意用户注册漏洞

  • 简述
    任意用户注册漏洞,由于开发人员没有严格校验注册,或者是逻辑上有缺陷,导致攻击者可以进行任意用户注册。

  • 漏洞思路

    由于此注册处没有校验手机号与验证码,导致我们可以利用自己的手机号正常注册。获取到验证码后把注册手机号修改成任意用户即可。
    我们通过自己的手机号正常注册得到验证码(155254)然后抓包修改自己的手机号为测试手机号发现成功注册

在这里插入图片描述
发现注册成功
在这里插入图片描述

案例二-垂直越权导致管理员密码重置获得管理员后台权限

  • 漏洞思路

受到此网站有任意用户注册的启发,由于没有校验验证码与手机号是否匹配导致任意用户注册,那么我想此网站会不会存在任意用户密码重置漏洞呢
在我正确走流程找回密码的时候,仔细抓取数据包,发现修改密码的数据包与验证码是分开的,那么我就在想,是不是修改密码和获取验证码流程是独立的呢,也就是修改密码没有与手机号相互校验。我单独抓取修改密码的数据包发现可以无限制提交,那么确定修改密码是独立流程,没有校验用户身份。

这里的思路是

正确走流程找回密码>验证码正确填>由于修改密码流程没有进行用户校验,抓取修改密码的数据包>修改参数即可任意用户密码重置

输入已经注册好的手机号158********
在这里插入图片描述
获取验证码601959
在这里插入图片描述
在这里插入图片描述
发现修改密码数据包中并没有用户校验,数据包中没有验证码参数,那么此处修改密码就是和获取验证码流程独立了,也就是说刚刚获取验证码是纸老虎。找回密码处校验用户与修改密码流程没有层层校验,导致逻辑缺陷。
修改密码数据包有三个参数,为重置密码、用户名、用户userid。此处的关键参数为userid,而且id是可遍历参数,一般来说userid为1就是管理员的id,我们碰碰运气把loginname参数改成管理员账户admin,userid改为1。发现密码重置成功,通过修改密码处更改userid造成垂直越权获得后台管理员权限,后台敏感信息太多就不截图了
在这里插入图片描述
在这里插入图片描述

漏洞总结

这里运气好,猜到admin的userid是1,修改了管理员密码,然后成功进入管理员后台。泄露大量信息,也知道所有用户的用户名和id,也可以进行任意用户密码重置了。其实此网站有此漏洞主要原因就是找回密码流程没有相互校验,校验手机验证码与修改密码流程独立,并且在数据包有可遍历参数userid。还有就是注册流程只校验手机号与验证码是否正确,没有校验手机号与验证码是否匹配,导致可以用自己手机号注册任意手机号。
修复建议
1、校验手机号与验证码是否匹配,不能只判断验证码是否正确。
2、增强验证码复杂度
3、修改密码和验证码校验不要完全独立,严格相互验证重置密码几个步骤。

相关文章:

src挖掘-记一次有趣的逻辑漏洞分享

漏洞挖掘-记一次有趣的逻辑漏洞挖掘 前言简述1、信息收集2、找功能点3、挖掘漏洞案例一:任意用户注册漏洞案例二-垂直越权导致管理员密码重置获得管理员后台权限漏洞总结 前言 此文章是小白的学习笔记,请不要利用文章内相关知识点进行非法渗透&#xff…...

【C++】STL | list (链表)详解及重要函数的实现

目录 前言 总代码 ListNode类框架的建立 (成员与模板) list类的框架 普通构造 与 empty_init(适合不同类型构造函数的小函数) list的迭代器 引子 operator、operator--(前置与后置) operator 与 operator! operator* 与 …...

警惕智能手机的“隐形眼”:如何保护我们的数字隐私堡垒

随着智能手机深入我们生活的方方面面,它变得无所不在,甚至无所不知。 但你是否意识到,你的手机可能正在悄无声息地“监听”你的一举一动? 从你的搜索习惯到日常对话,手机的个性化推荐系统正不断收集你的数据。 本文…...

人工智能算法工程师(高级)课程12-自然语言处理之NLP的语言模型-ELMo,transformer,BERT与代码详解

大家好,我是微学AI,今天给大家介绍一下人工智能算法工程师(高级)课程12-自然语言处理之NLP的语言模型-ELMo,transformer,BERT与代码详解。本课程面向高级人工智能算法工程师,深入讲解自然语言处理(NLP)中的关键语言模型技术,包括了EMLo和transformer架构。此外,课程还详细…...

PicGo + gitee 免费搭建个人图床

目录 1 图床概念2 使用gitee和PicGo搭建图床流程2.1 下载安装PicGo工具 3 图片上传错误处理3.1 PicGo客户端提示404错误信息图片上传失败3.2 PicGo客户端提示400错误信息图片上传失败 1 图床概念 ​ "图床"是一个网络术语,它指的是一种用于存储和托管图片…...

组合数的低复杂度运算

题源 题目 F. 预期中位数 每次测试的时间限制:3 秒 每次测试的内存限制:256 兆字节 Arul 有一个长度为 n 的二进制数组* a。 他将取该数组中所有长度为 k(k 为奇数)的子序列并找到它们的中位数。 所有这些值的总和是多少&#xf…...

小型并网式光伏气象站:光伏电站的智能守护者

小型并网式光伏气象站以其独特的功能和优势,成为了电站高效运行的智能守护者。小型并网式光伏气象站通过精准的数据采集与分析,为光伏电站的运维管理提供了强有力的支持。 小型并网式光伏气象站能够实时监测并记录光伏电站周围环境的多种气象参数&#x…...

JavaScript 中的回调函数(callback)

JavaScript 中的回调函数(callback) JavaScript 中的回调函数(callback)是一个传递给另一个函数作为参数的函数,并且这个传递的函数可以在其他函数内部被调用执行。回调函数是异步编程的一个核心概念,特别…...

计算机毕业设计hadoop+spark+hive漫画推荐系统 动漫视频推荐系统 漫画分析可视化大屏 漫画爬虫 漫画推荐系统 漫画爬虫 知识图谱 大数据

HadoopSparkHive漫画推荐系统详细开题报告 一、引言 随着互联网技术的飞速发展,动漫和漫画产业的数据量急剧增长。用户面临着海量漫画作品的选择难题,如何从这些数据中高效地提取有价值的信息,为用户推荐符合其喜好的漫画作品,成…...

解决pycharm日志总是弹出“无法运行Git,未安装Git”的问题

需求分析 我电脑中安装了git,但是打开pycharm,右下角总是弹出 无法运行Git,未安装Git的日志。 解决方法 首先打开pycharm,按照以下路径,依次点击。 file -----settings-----version control -----Git----Git path(选择自己下载…...

threejs 节点材质系统 绑定attribute

新的 节点材质系统 绑定属性及使用 非常方便 不必重复声明 以instances为例 import {instancedBufferAttribute,instancedDynamicBufferAttribute,} from "three/tsl";声明一个 InstancedBufferAttribute 使用 instancedBufferAttribute包装后就可以在shader中直接使…...

Rabbitmq的几种工作模式

工具类 public class RabbitMQConnection {public static Connection getConnection() throws Exception{//1.创建connectionFactoryConnectionFactory connectionFactory new ConnectionFactory();//2.配置HostconnectionFactory.setHost("127.0.0.1");//3.设置Po…...

如何在 Debian 上安装运行极狐GitLab Runner?【二】

极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitL…...

简单的docker学习 第13章 CI/CD与Jenkins(下)

第13章 CI/CD 与 Jenkins 13.13 自由风格的 CI 操作(最终架构) 前面的架构存在的问题是,若有多个目标服务器都需要使用该镜像,那么每个目标服务器都需要在本地构建镜像,形成系统资源浪费。若能够在 Jenkins 中将镜像相撞构建好并推送到 Har…...

基于STM32设计的智能鱼缸_带鱼儿数量视觉识别(华为云IOT)(202)

文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】设计实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置【3】自动换水原理1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献1.4 开发工具的选择【1】设备端开发【2】上位…...

立体连接模式下的传播与沟通:AI智能名片小程序的创新应用与深度剖析

摘要:在数字化浪潮的推动下,信息传播与沟通方式正经历着前所未有的变革。立体连接模式,作为这一变革的重要产物,通过整合物理空间、虚拟网络空间与社群心理空间的三维联动,实现了信息的深度传播与高效互动。AI智能名片…...

基于Python的Scrapy爬虫的个性化书籍推荐系统【Django框架、超详细系统设计原型】

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍系统分析系统设计展示总结 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 项目介绍 近年来,随着互联网的蓬勃发展,企事业单…...

二叉树bst

二叉搜索树的中序遍历结果有序 ,二叉搜索树性质,左小右大,二叉搜索树中序遍历的结果应该是从小到大的。 题目描述二叉树是从上到下,从左到右描述,并非前中后序中的一种。 99. 恢复二叉搜索树 class Solution:first …...

elasticsearch的使用(二)

DSL查询 Elasticsearch的查询可以分为两大类: 叶子查询(Leaf query clauses):一般是在特定的字段里查询特定值,属于简单查询,很少单独使用。 复合查询(Compound query clauses)&am…...

YOLOv8由pt文件中读取模型信息

Pytorch的pt模型文件中保存了许多模型信息,如模型结构、模型参数、任务类型、批次、数据集等 在先前的YOLOv8实验中,博主发现YOLOv8在预测时并不需要指定任务类型,因为这些信息便保存在pt模型中,那么,今天我们便来看看…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

Robots.txt 文件

什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...

uniapp 实现腾讯云IM群文件上传下载功能

UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...

高考志愿填报管理系统---开发介绍

高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发,采用现代化的Web技术,为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## 📋 系统概述 ### 🎯 系统定…...