逻辑漏洞学习-身份验证漏洞
逻辑漏洞就是程序在实现业务逻辑上存在的错误,辑漏洞的出现通常是因为程序在设计业务逻辑时考虑不够全面,或者程序员的思维过程存在瑕疵,没有充分考虑到各种可能的情况
大部分程序员在设计的时候,目标是实现功能需求,考虑并不是很全面,所以是可能存在漏洞的,接下来,学习身份验证漏洞。身份验证漏洞是在识别用户身份这一功能方面存在的漏洞
(个人感觉:逻辑漏洞是思维上的对决,)
(一)暴力破解
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:比较大小 注意:使用compareTo()方法比较大小时 参与比较的两个值 必须有值 不能为空 BigDecimal a new BigDecimal("3"); BigDecimal b new BigDecimal("4"); if (a.compareTo(b) < 0) { System.…...
并发编程Bug的根源
并发编程Bug的根源 并发编程Bug是指在多线程编程中出现的错误。并发编程需要考虑多个线程同时执行的情况,因此需要特别小心,以避免出现各种问题。在本文中,我们将探讨并发编程Bug的根源,并提供一些例子,以帮助读者更好…...

从零搭建微服务-认证中心(二)
写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址:https://gitee.com/csps/mingyue 文档地址:https://gitee.com/csps/mingyue/wikis 创建新项目 MingYue Idea 创建 maven 项目这…...
python入门(11)面向对象 :模块与包
1. 模块 1.1 什么是模块 在 Python 中,模块是一个包含了函数、类和变量的文件。模块提供了一种组织代码的方式,使得代码更加可重用和可维护。你可以使用 Python 内置的模块,也可以创建自己的模块。 Python 模块的特点包括: 封装…...

《深入理解计算机系统(CSAPP)》第3章 程序的机器级表示 - 学习笔记
写在前面的话:此系列文章为笔者学习CSAPP时的个人笔记,分享出来与大家学习交流,目录大体与《深入理解计算机系统》书本一致。因是初次预习时写的笔记,在复习回看时发现部分内容存在一些小问题,因时间紧张来不及再次整理…...
【数据结构】第六周
目录 银行排队——队列 公共钥匙盒——队列 等值子串 KMP模式匹配 大整数相乘 最长公共子串 银行排队——队列 【问题描述】 我们大多都有在银行排队的经历,唉,那坑爹的排队啊!现在就让我们来算算我们这些客户平均需要等多久吧。 每天…...

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

Ae:常用内置抠像效果
Ae 中的抠像都是基于效果控件来实现的,最终生成动态遮罩来控制画面像素的透明度。 常用的内置抠像效果有:提取、线性颜色键、颜色差值键、内部/外部键等。 黑色或白色背景的抠像 对于白色或黑色背景的素材,可直接尝试图层混合模式。 或者&…...
[ 支付宝支付笔记]
目录 前言: 支付宝支付: 创建AlipayClient对象(注意,这里的appId、私钥、公钥等信息需要根据实际情况进行替换): 构造AlipayTradePagePayRequest对象,设置订单信息等参数: 调用AlipayClient对象的page…...

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

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

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

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

【AI领域+餐饮】| 论ChatGPT在餐饮行业的应用展望
💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...

宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...