【逻辑漏洞】账户接管漏洞

2024-05-28 18:12
文章标签 逻辑 漏洞 账户 接管

本文主要是介绍【逻辑漏洞】账户接管漏洞,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【逻辑漏洞】账户接管漏洞

  • 1.电子邮件改包授权
  • 2.Unicode规范化问题
  • 3.重复使用重置令牌
  • 4.响应操纵
  • 5.主机头注入
  • 6.CSRF导致账户接管
  • 7.XSS导致账户接管
  • 8.攻击密码重置机制

1.电子邮件改包授权

使用电子邮件进行验证吗验证时,尝试修改发送包的电子邮件为自己的,以此来绕过邮件验证码验证


2.Unicode规范化问题

Unicode规范化是一种确保字符的不同二进制表示标准化为相同二进制值的过程。这个过程在处理编程和数据处理中的字符串时至关重要。Unicode标准定义了两种字符等价性:

  1. 规范等价性:如果字符在打印或显示时具有相同的外观和含义,则被视为规范等价。
  2. 兼容等价性:一种较弱的等价形式,其中字符可能表示相同的抽象字符,但显示方式可能不同。

如何发现Unicode规范的使用?

如果可以在web应用程序中找到一个被回显的值,%e2%84%aa。如果回显了“K”,那么可能正在执行某种Unicode归一化。

另一个示例:

%F0%9D%95%83%E2%85%87%F0%9D%99%A4%F0%9D%93%83%E2%85%88%F0%9D%94%B0%F0%9D%94%A5%F0%9D%99%96%F0%9D%93%83 经过unicode后为 Leonishan

一些有趣的Unicode字符

  • o – %e1%b4%bc
  • r – %e1%b4%bf
  • 1 – %c2%b9
  • = – %e2%81%bc
  • / – %ef%bc%8f
  • — %ef%b9%a3
  • #-- %ef%b9%9f
  • *-- %ef%b9%a1
  • ’ – %ef%bc%87
  • " – %ef%bc%82
  • | – %ef%bd%9c
' or 1=1-- -
%ef%bc%87+%e1%b4%bc%e1%b4%bf+%c2%b9%e2%81%bc%c2%b9%ef%b9%a3%ef%b9%a3+%ef%b9%a3" or 1=1-- -
%ef%bc%82+%e1%b4%bc%e1%b4%bf+%c2%b9%e2%81%bc%c2%b9%ef%b9%a3%ef%b9%a3+%ef%b9%a3' || 1==1//
%ef%bc%87+%ef%bd%9c%ef%bd%9c+%c2%b9%e2%81%bc%e2%81%bc%c2%b9%ef%bc%8f%ef%bc%8f" || 1==1//
%ef%bc%82+%ef%bd%9c%ef%bd%9c+%c2%b9%e2%81%bc%e2%81%bc%c2%b9%ef%bc%8f%ef%bc%8f

针对账户接管的一个例子:针对预期受害者的账户 victim@gmail.com,可以使用Unicode创建一个账户例如:vićtim@gmail.com,这样会覆盖受害者的账户,实现账户接管


3.重复使用重置令牌

如果目标系统允许重复使用重置链接,应努力使用工具如gau、wayback或scan.io来查找更多重置链接达到账户接管的目的


4.响应操纵

两种方法:

  • 将状态代码更改为200 OK
  • 将响应主体的类似内容修改为{"success":true}或空对象{}

通过响应操纵,目标服务器可能误认为用户已经认证成功,从而绕过密码重置,实现任意账户接管


5.主机头注入

在发起密码重置后选择重新发送邮件时

  1. X-Forwarded-For代理头更改为attacker.com
  2. 同时将主机、引用者和来源头更改为attacker.com

你可能意外的收到密码重置的链接🔗


6.CSRF导致账户接管

如果页面容易受到CSRF攻击,您可能能够让用户修改他的密码、电子邮件或认证信息,以便随后访问


7.XSS导致账户接管

如果在应用程序中发现XSS漏洞,您可能能够窃取cookie、本地存储或网页信息,从而接管账户


8.攻击密码重置机制

密码重置漏洞

这篇关于【逻辑漏洞】账户接管漏洞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1011312

相关文章

easyui同时验证账户格式和ajax是否存在

accountName: {validator: function (value, param) {if (!/^[a-zA-Z][a-zA-Z0-9_]{3,15}$/i.test(value)) {$.fn.validatebox.defaults.rules.accountName.message = '账户名称不合法(字母开头,允许4-16字节,允许字母数字下划线)';return fal

逻辑表达式,最小项

目录 得到此图的逻辑电路 1.画出它的真值表 2.根据真值表写出逻辑式 3.画逻辑图 逻辑函数的表示 逻辑表达式 最小项 定义 基本性质 最小项编号 最小项表达式   得到此图的逻辑电路 1.画出它的真值表 这是同或的逻辑式。 2.根据真值表写出逻辑式   3.画逻辑图   有两种画法,1是根据运算优先级非>与>或得到,第二种是采

UMI复现代码运行逻辑全流程(一)——eval_real.py(尚在更新)

一、文件夹功能解析 全文件夹如下 其中,核心文件作用为: diffusion_policy:扩散策略核心文件夹,包含了众多模型及基础库 example:标定及配置文件 scripts/scripts_real:测试脚本文件,区别在于前者倾向于单体运行,后者为整体运行 scripts_slam_pipeline:orb_slam3运行全部文件 umi:核心交互文件夹,作用在于构建真

【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的通关方法,大家不要自限思维! 2.本项目提供的writeup只是起一个参考作用,希望大家可以分享出自己的通关思路

Java反序列化漏洞-TemplatesImpl利用链分析

文章目录 一、前言二、正文1. 寻找利用链2. 构造POC2.1 生成字节码2.2 加载字节码1)getTransletInstance2)defineTransletClasses 2.3 创建实例 3. 完整POC 三、参考文章 一、前言 java.lang.ClassLoader#defineClass defineClass可以加载字节码,但由于defineClas

【vulhub】thinkphp5 2-rce 5.0.23-rce 5-rce 漏洞复现

2-rec 1.启动环境  cd /.../vulhub/thinkphp/2-rce # cd进入2-rce靶场文件环境下docker-compose up -d # docker-compose启动靶场docker ps -a # 查看开启的靶场信息 2.访问192.168.146.136:8080网页 3.构造payload http

【Java编程的逻辑】原子变量 CAS 显示锁

原子变量 在理解synchronized中有使用synchronized保证原子更新操作,但是使用synchronized成本太高了,需要先获取锁,最后还要释放锁,如果获取不到锁还需要等到。这些成本都是比较高的,对于这种情况,可以使用原子变量。 Java并发包中的基本原子变量类型有以下几种: AtomicBoolean:原子Boolean类型,常用来在程序中表示一个标志位 AtomicIn

【Java编程的逻辑】容器类的总结

抽象容器类 用法和特点 容器类有两个根接口,分别是Collection 和 Map ,Collection表示单个元素的集合,Map表示键值对的集合 。 Collection Collection表示的数据集合有基本的增、删、查、遍历等方法,但没有定义元素间的顺序或位置,也没有规定是否有重复元素。 List: 是Collection的子接口,表示有顺序或位置的数据集合,增加了根据

【Java编程的逻辑】堆与优先级队列PriorityQueue

完全二叉树 & 满二叉树 & 堆 基本概念 满二叉树是指除了最后一层外,每个节点都有两个孩子,而最后一层都是叶子节点,都没有孩子。 满二叉树一定是完全二叉树,但完全二叉树不要求最后一层是满的,但如果不满,则要求所有节点必须集中在最左边,从左到右是连续的,中间不能有空的。 特点 在完全二叉树中,可以给每个节点一个编号,编号从1开始连续递增,从上到下,从左到右 完全二叉树有一

【Java编程的逻辑】Map和Set

HashMap Map有键和值的概念。一个键映射到一个值,Map按照键存储和访问值,键不能重复。 HashMap实现了Map接口。 基本原理 HashMap的基本实现原理:内部有一个哈希表,即数组table,每个元素table[i]指向一个单向链表,根据键存取值,用键算出hash值,取模得到数组中的索引位置index,然后操作table[index]指向的单向链表。 存取的时候依据键的