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

逻辑漏洞学习-身份验证漏洞

逻辑漏洞就是程序在实现业务逻辑上存在的错误,辑漏洞的出现通常是因为程序在设计业务逻辑时考虑不够全面,或者程序员的思维过程存在瑕疵,没有充分考虑到各种可能的情况

大部分程序员在设计的时候,目标是实现功能需求,考虑并不是很全面,所以是可能存在漏洞的,接下来,学习身份验证漏洞。身份验证漏洞是在识别用户身份这一功能方面存在的漏洞

(个人感觉:逻辑漏洞是思维上的对决,)

(一)暴力破解

1、未限制爆破

使用场景:在用户登录的时候,没有对用户身份等进行再次验证,只有对登录用户名和密码进行验证,没有第三方例如图片验证码、手机短信验证码等的验证

破解策略:首先对用户名爆破,获取到一个用户之后,其次对该用户的密码进行爆破,这是较为常见的常见,使用到的工具是burpsuite

案例演示:DVWA靶场

 2、限制ip爆破

使用场景:在防护措施中,有一条策略是,在短时间内有来次某条ip的大量访问,尝试进行登录,会被识别是攻击行为,会对ip进行封锁,导致该ip不能使用

破解策略:使用ip代理池,写个脚本,调用git(分布式控制系统)开源的代理接口,利用不同的ip对其访问,

import requests
import re
def post():curl = "https://ip.900cha.com/"proxy = {'http':'47.92.113.71:80'} #代理地址以及端口,现在估计已经失效,如果需要使用,可以自建资源池header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML,like Gecko)Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3775.400 QQBrowser/10.6.4208.400'}post = requests.get(curl,headers=header,proxies=proxy).text #请求报文# post = post.encode('ISO-8859-1').decode("gb2312") #iso编码转汉字# print(post) #打印网站chuli(post) #将丢给chuli进行取值def chuli(post): #整体模块均为数据处理,取值ip = re.findall('准确归属地:.*', post)[0] #取出IP地址print(ip) #输出地址if __name__ == '__main__':
post()

3、限制密码错误爆破

场景:在有些登录页面,我们太久忘记登录忘记密码了,输入几次密码错误之后,会提示还有几次登录尝试,这是因为,后台管理对于安全考虑,会限制账号的登录次数,如果超出限制次数,账号会被锁定,需要管理员解封或者过一定时间才会解锁

破解策略:这种限制只是对一个账号的限制,只对一个账户进行登录次数的限制,我们可以换个账号进行爆破,返回使用弱口令反过来爆破账户方式。只要账户足够多,总存在弱口令的账户。使用工具也是burpsuite

4、多字段爆破

场景:有些网址在验证身份时候,不止需要验证账号与密码,还有其他的参数,例如token,这因为后台用于验证身份时候,不仅仅是对账号秘密验证,还加上了一层验证,常见的例如token,token的值是根据你的身份信息、摘要身份信息等生成的身份验证码,token是唯一的,经过加密了,是有时效的,使用一次之后,就失效。

破解策略:burpsuite的Intruder模块,

 在intrder模块的grep-xetract中,可以从响应包中提取token,然后放在攻击列表中

5、限制登录次数频率爆破

场景:在登录时候,在一定时间内,不管密码正确还是不正确,都会对登录次数进行限制,例如10分钟之内,只允许登录10次,不然就对账户进行封锁。

策略:可以采用延时爆破的方法,在burpsuite中可以设置爆破的时间,

6、authorization爆破

场景:authorization加密通常用于进行API接口的访问授权,加密算法常用base64算法。

策略:利用burpsuite抓包之后,可以利用burpsite自带base64解码,也可以利用一些在线网址或工具进行解码

7、密文传输爆破

场景:在用户进行登录完成时候,可能会对数据传输进行密码处理,

破解策略:查看源代码,找到加密的算法与方式,根据加密方式进行逆向解密,(加密算法有许多,联合起来就更多了,所以需要弄清楚加密过程与算法,进行逆向解密)

8、图片验证码爆破

场景:带有图片的验证码是我们较为常见的验证方式,

破解策略:burpsuite+pkav联合使用你,利用burpsuite进行抓包,把包进行复制到pkav中

(二)session固定攻击

场景:session常用在结束后,当我们在一个页面中登录完之后,不管是关闭网站,还是进入网站的其他页面,都是还是识别登录状态,这就是session的功能。当用户在访问服务器时,服务器会为该用户创建一个Session,并分配一个唯一的Session ID,在后续的请求中,服务器可以根据这个Session ID来识别客户端。

破解:在请求登录时候,url会带有一个session,登录成功之后会将登录成功的信息绑定到这 个session中,可以发送带有session的URL给相关工作人员诱导其登录,相当于获取了其身份信息

(三)cookie欺骗漏洞

场景:cookie和session一样,都是用来识别用户信息的,不同的是cookie是存储在客户端(用户),而session是存储在服务器中,

策略:cookie的值只是简单编码,进行抓包获取到cookie值之后,修改lsLogin值为1可以判定为用户已经登录

(四)未进行登录凭证验证

场景:这样没有登录凭证是没有cookie或是session这样凭证识别,进入该网址,也没有跳转到登录页面,没有扫描限制的就能直接访问

策略:要发现这样的网页,是通过目录扫描工具进行扫描,然后对扫描到目录逐个的连接,如果直接就能访问成功

相关文章:

逻辑漏洞学习-身份验证漏洞

逻辑漏洞就是程序在实现业务逻辑上存在的错误,辑漏洞的出现通常是因为程序在设计业务逻辑时考虑不够全面,或者程序员的思维过程存在瑕疵,没有充分考虑到各种可能的情况 大部分程序员在设计的时候,目标是实现功能需求,…...

【ChatGPT】ChatGPT自动生成思维导图

参考视频:https://edu.csdn.net/learn/38346/613917 应用场景:自学,“研一学生如何学习机器学习”的思维导图 问:写一个“研一学生如何学习机器学习”的思维导图内容,以markdown代码块格式输出 # 研一学生如何学习…...

cf1200构造15道

最近做构造,想对比下先做后看答案归纳,留下思路之后直接看答案归纳,然后再统一检测,还有直接看答案,归纳,检测三种方法哪种效率高些,于是先做个十五题试试第一个方法,花3天写了15道构…...

【JavaSE】Java基础语法(十七)

文章目录 1. final2. 代码块2.1 代码块概述2.2 代码块分类 1. final fianl关键字的作用 final代表最终的意思,可以修饰成员方法,成员变量,类 final修饰类、方法、变量的效果 fianl修饰类:该类不能被继承(不能有子类&a…...

《Spring Guides系列学习》guide11 - guide15

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。 接着上篇看过的gu…...

软件测试面试了一个00后,让我见识到了什么是内卷届的天花板

公司前段缺人,也面了不少测试,结果竟然没有一个合适的。一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资也不低,面试的人很多,但平均水平很让人失望。令我印象最深的是一个00后测试员,他…...

JAVA BigDecimal 比较大小 、计算

1&#xff1a;比较大小 注意&#xff1a;使用compareTo&#xff08;&#xff09;方法比较大小时 参与比较的两个值 必须有值 不能为空 BigDecimal a new BigDecimal("3"); BigDecimal b new BigDecimal("4"); if (a.compareTo(b) < 0) { System.…...

并发编程Bug的根源

并发编程Bug的根源 并发编程Bug是指在多线程编程中出现的错误。并发编程需要考虑多个线程同时执行的情况&#xff0c;因此需要特别小心&#xff0c;以避免出现各种问题。在本文中&#xff0c;我们将探讨并发编程Bug的根源&#xff0c;并提供一些例子&#xff0c;以帮助读者更好…...

从零搭建微服务-认证中心(二)

写在最前 如果这个项目让你有所收获&#xff0c;记得 Star 关注哦&#xff0c;这对我是非常不错的鼓励与支持。 源码地址&#xff1a;https://gitee.com/csps/mingyue 文档地址&#xff1a;https://gitee.com/csps/mingyue/wikis 创建新项目 MingYue Idea 创建 maven 项目这…...

python入门(11)面向对象 :模块与包

1. 模块 1.1 什么是模块 在 Python 中&#xff0c;模块是一个包含了函数、类和变量的文件。模块提供了一种组织代码的方式&#xff0c;使得代码更加可重用和可维护。你可以使用 Python 内置的模块&#xff0c;也可以创建自己的模块。 Python 模块的特点包括&#xff1a; 封装…...

《深入理解计算机系统(CSAPP)》第3章 程序的机器级表示 - 学习笔记

写在前面的话&#xff1a;此系列文章为笔者学习CSAPP时的个人笔记&#xff0c;分享出来与大家学习交流&#xff0c;目录大体与《深入理解计算机系统》书本一致。因是初次预习时写的笔记&#xff0c;在复习回看时发现部分内容存在一些小问题&#xff0c;因时间紧张来不及再次整理…...

【数据结构】第六周

目录 银行排队——队列 公共钥匙盒——队列 等值子串 KMP模式匹配 大整数相乘 最长公共子串 银行排队——队列 【问题描述】 我们大多都有在银行排队的经历&#xff0c;唉&#xff0c;那坑爹的排队啊&#xff01;现在就让我们来算算我们这些客户平均需要等多久吧。 每天…...

6.4.6拓扑排序

用DAG&#xff08;有向无环图&#xff09;表示一个工程。顶点表示活动&#xff0c;有向边<Vi&#xff0c;Vj>表示活动Vi活动必须先与Vj活动进行。 所谓的拓扑排序&#xff1a;找到做事的先后顺序 以上根据拓扑排序的实现&#xff1a; 加入对有回路的图进行拓扑排序&#…...

Ae:常用内置抠像效果

Ae 中的抠像都是基于效果控件来实现的&#xff0c;最终生成动态遮罩来控制画面像素的透明度。 常用的内置抠像效果有&#xff1a;提取、线性颜色键、颜色差值键、内部/外部键等。 黑色或白色背景的抠像 对于白色或黑色背景的素材&#xff0c;可直接尝试图层混合模式。 或者&…...

[ 支付宝支付笔记]

目录 前言: 支付宝支付: 创建AlipayClient对象&#xff08;注意&#xff0c;这里的appId、私钥、公钥等信息需要根据实际情况进行替换&#xff09;&#xff1a; 构造AlipayTradePagePayRequest对象&#xff0c;设置订单信息等参数&#xff1a; 调用AlipayClient对象的page…...

2023九坤投资暑期实习笔试复盘

5.22号笔试&#xff0c;5.24确认自己笔试挂。想想这也是自己第一次做量化私募基金的笔试&#xff0c;在此复盘一下。情况&#xff1a;北邮本硕。但开始准备暑期准备的比较晚&#xff0c;4月初才开始一边刷题一边投简历&#xff0c;所以手撕算法不太强&#xff0c;但运气和灵感好…...

深度学习的定义和未来发展趋势

深度学习的定义和未来发展趋势 什么是深度学习数学和编程的基础知识深度学习的应用领域深度学习的常见算法和模型训练深度学习模型深度学习的未来 &#x1f3d8;️&#x1f3d8;️个人简介&#xff1a;以山河作礼。 &#x1f396;️&#x1f396;️:Python领域新星创作者&#…...

如何更改 Linux 文件和目录权限?

在Linux系统中&#xff0c;文件和目录权限是安全性和访问控制的关键组成部分。正确设置文件和目录的权限可以确保只有授权的用户能够读取、写入或执行这些文件和目录。 本文将详细介绍如何在Linux系统中更改文件和目录的权限。 1. 文件和目录权限概述 在Linux系统中&#xff…...

Revit楼板问题:楼板连接处以及楼板开洞,一键开洞

在我们做楼梯时&#xff0c;楼梯与楼板处的连接处理不是那么符合实际&#xff0c;会出现一些问题&#xff0c;如下图&#xff0c;这样的连接会导致楼梯配筋时钢筋外露。 我们来学习如何调节楼板与楼板连接处的高度&#xff0c;选中楼梯&#xff0c;点击“编辑楼梯”在所需要更改…...

【AI领域+餐饮】| 论ChatGPT在餐饮行业的应用展望

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读&#xff0c;同时任汉硕云&#xff08;广东&#xff09;科技有限公司ABAP开发顾问。在学习工作中&#xff0c;我通常使用偏后…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

Python Einops库:深度学习中的张量操作革命

Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

深度解析云存储:概念、架构与应用实践

在数据爆炸式增长的时代&#xff0c;传统本地存储因容量限制、管理复杂等问题&#xff0c;已难以满足企业和个人的需求。云存储凭借灵活扩展、便捷访问等特性&#xff0c;成为数据存储领域的主流解决方案。从个人照片备份到企业核心数据管理&#xff0c;云存储正重塑数据存储与…...

JUC并发编程(二)Monitor/自旋/轻量级/锁膨胀/wait/notify/锁消除

目录 一 基础 1 概念 2 卖票问题 3 转账问题 二 锁机制与优化策略 0 Monitor 1 轻量级锁 2 锁膨胀 3 自旋 4 偏向锁 5 锁消除 6 wait /notify 7 sleep与wait的对比 8 join原理 一 基础 1 概念 临界区 一段代码块内如果存在对共享资源的多线程读写操作&#xf…...