常见逻辑漏洞

挖掘重点:

业务流程和HTTP/HTTPS请求篡改

支付漏洞和越权漏洞是金融业务中常见的

支付漏洞

(1) 密码重置

验证码直接在HTTP响应中返回;

验证码未绑定用户,没和手机号和邮箱号做匹配验证;

未校验用户字段值,改自己密码,最后提交其它UID;

验证码不失效,可枚举;

(2) 支付订单

篡改支付金额,运费修改为负数,使总金额降低。

(3) 竞争条件

在文件上传中和购物时;

A用户余额10元,B商品5元,C商品6元;

A利用竞争条件多线程同时发起购买B和C的请求;

可能的结果有:

有一件商品购买失败;

商品都购买成功,但只扣了6元;

商品都购买成功,但余额为 -1元;

越权访问

越权访问他人信息或操纵他人账号

水平越权:

同级别(权限)用户之间,越权访问非法操纵其它账户;(这会导致大批量数据泄露,恶意篡改)

垂直越权:

不同级别之间的用户越权,普通用户执行管理员的功能;

越权访问攻击测试:

1、改ID; ?id=1
2、改用户名;login.php?username=admin

越权访问修复建议:

越权访问漏洞的主要原因是没有对用户的身份做判断和控制,防护这种漏洞可以通过session来控制。

用户登录成功后,把username和UID等信息写入到session中,

当查看个人信息时,从session中取出username,而不是从GET和POST取,此时username就是没被篡改的。

会话劫持

会话劫持(Session hijacking),这是一种通过获取用户 Session ID 后,使用该 Session ID 登录目标账号的攻击方法,此时攻击者实际上是使用了目标会话固定漏洞基本防御方法 账户的有效 Session。

会话劫持的第一步是取得一个合法的会话标识来伪装成合法用户,因此需要保证会话标识不被泄漏。

受害者登录站点,服务器返回一个会话标识(Session ID)

黑客捕获这个Session ID( 网络嗅探,XSS ),使用这个Session ID访问站点获得受害者合法会话

防御方法

XSS漏洞引起的会话劫持:使用http-only来防止JS获取cookie中的Session ID信息

网络嗅探引起的会话劫持:使用HTTPS+secure来保证Session ID不被嗅探获取到

Session机制

Session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构来保存信息用于保持状态。

保存这个Session ID最为方便的方式是采用Cookie。

Cookie的名字都是类似于SESSIONID;

weblogic对于web应用程序生成的cookie,JSESSIONID;

PHP中Session的默认名称是PHPSESSID。

Cookie属性

HttpOnly 设置方法

服务端发送cookie的时候,可以设置HTTP-Only ,禁止 JS 获取Cookie内容

Set-Cookie: SESSIONID=abc123; expires=Wednesday, 17-Nov-99 23:12:40 GMT; HttpOnly

Secure

设置cookie的某个值secure为True时, 此cookie只有在HTTPS协议中才会进行传输

HTTP协议传输时,是不传输此协议的。

会话固定

会话固定(Session fixation)是一种诱骗受害者使用攻击者指定的会话标识(Session ID)的攻击手段。这是攻击者获取合法会话标识的最简单的方法。会话固定也可以看成是会话劫持的一种类型,原因是会话固定的攻击的主要目的同样是获得目标用户的合法会话。不过会话固定还可以是强迫受害者使用攻击者设定的一个有效会话,以此来获得用户的敏感信息。

  • 访问网站时,网站会设置cookie中的Session ID
  • 当用户登录后,cookie中的SessionID保持不变形成原因
  • 只要获取登陆前的Session ID内容,就可以知道登陆后的Session ID
  • 黑客用该Session ID构造链接,发送给受害者点击后,黑客成功劫持受害者的会话

漏洞检测

**访问网站(未登录):*获取cookie信息,获取Session ID

**登录网站:**查看Cookie信息,获取Session ID

查看登录前,登录后SessionID是否相同

防御方法

1、在用户登录成功后重新创建一个Session ID,使登录前的匿名会话强制失效

// 会话失效
session.invalidate();

// 会话重建
session=request.getSession(true);

2、**SessionID与浏览器绑定:**SessionID与所访问浏览器有变化,立即重置

3、**SessionID与所访问的IP绑定:**SessionID与所访问IP有变化,立即重置

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

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

相关文章

Navigation 2 学习01 介绍及安装及运行示例

Navigation 2 是什么 Nav2 是 ROS 导航 的综合控制服务,类似人类的小脑控制人类的行走及身体平衡,Nav2 针对移动和地面机器人提供支持的自动驾驶车辆的相同类型的技术,经过优化和改造。该项目旨在找到一种安全的方法,使移动机器人…

nginx离线部署-aarch64架构

nginx离线部署-aarch64架构 服务器环境: 架构:aarch64, 系统:Red Hat (CentOS 7) nginx 1.24 需要准备这些: 可以先尝试安装 Nginx 安装NGINX 内网是没有网络的需要使用 RPM 包安装 gcc, g…

USART通讯

提示:文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问: 1、一开始没有搞明白到底是USART还是UART。 2、其中还涉及到一个同步的概念。同步就是是否有时钟线同步。USART是串口同步异步发送接收器。USART没有时钟线是怎么实现同步的。 3、…

服务器上面安装nodejs react

1、nvm管理nodejs 2、修改端口 /node_modules/react-scripts/scripts/start.js // 这是start.js部分源码 const DEFAULT_PORT parseInt(process.env.PORT, 10) || 3000; const HOST process.env.HOST || 0.0.0.0;// 将3000修改自己需要的端口号 const DEFAULT_PORT parseIn…

KMP字符串匹配算法

介绍: KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少…

绘制太极图 - 使用 PyQt

大家好!今天我们将一起来探讨一下如何使用PyQt,这是一个强大的Python库,来绘制一个传统的太极图。这个图案代表着古老的阴阳哲学,而我们的代码将以大白话的方式向你揭示它的奥秘。 PyQt:是什么鬼? 首先&a…

C# 中的接口

简介 官方说明:接口定义协定。 实现该协定的任何 class 或 struct 必须提供接口中定义的成员的实现。 接口可为成员定义默认实现。 它还可以定义 static 成员,以便提供常见功能的单个实现。 从 C# 11 开始,接口可以定义 static abstract 或 …

【AI-Pos系列】DeepLabCut 学习

level: nature neuroscience author:Alexander Mathis  1,2, Pranav Mamidanna1 , Kevin M. Cury3 , Taiga Abe3 , Venkatesh N. Murthy  2 , Mackenzie Weygandt Mathis  1,4,8* and Matthias Bethge1,5,6,7,8 date: 2018 keyword: quantifying behavior; pose estimation;…

超级胶水(第十一届蓝桥杯)

题目 小明有 n n n颗石子,按顺序摆成一排。他准备用胶水将这些石子粘在一起。 每颗石子有自己的重量,如果将两颗石子粘在一起,将合并成一颗新的石子,重量是这两颗石子的重量之和。 为了保证石子粘贴牢固,粘贴两颗石…

架构师之路(十六)计算机网络(传输层)

前置知识(了解):计算机基础。 作为架构师,我们所设计的系统很少为单机系统,因此有必要了解计算机和计算机之间是怎么联系的。局域网的集群和混合云的网络有啥区别。系统交互的时候网络会存在什么瓶颈。 既然网络层已经…

.net访问oracle数据库性能问题

问题: 生产环境相同的inser语句在别的非.NET程序相应明显快于.NET程序,执行时间相差比较大,影响正常业务运行,测试环境反而正常。 问题详细诊断过程 问题初步判断诊断过程: 查询插入慢的sql_id 检查对应的执行计划…

直播间流程解析基础

通过用户心理需求引导用户行为 贯穿内容和产品牵引想要和需要 直播间内流程解析 分为播前准备、开播暖场、产品介绍、穿插活动、结尾预告 (1)直播间内流程解析----播前准备 (2)直播间内流程解析----开播暖场 (3&…

互联网加竞赛 基于机器视觉的银行卡识别系统 - opencv python

1 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的银行卡识别算法设计 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng…

电涌保护器(SPD)、后备保护器(SCB)、断路器(CB)的区别与应用

随着现代电力系统的不断发展,电力设备的保护显得愈发重要。其中,电涌保护器(SPD)、后备保护器(SCB)和断路器(CB)是三种常见的保护设备,但它们各自具有不同的功能和特点。…

【渗透测试】借助PDF进行XSS漏洞攻击

简介 在平时工作渗透测试一个系统时,常常会遇到文件上传功能点,其中大部分会有白名单或者黑名单机制,很难一句话木马上传成功,而PDF则是被忽略的一个点,可以让测试报告更丰富一些。 含有XSS的PDF制作步骤 1. 编辑器…

论文阅读《thanking frequency fordeepfake detection》

项目链接:https://github.com/yyk-wew/F3Net 这篇论文从频域的角度出发,提出了频域感知模型用于deepfake检测的模型 整体架构图: 1.FAD: 频域感知分解,其实就是利用DCT变换,将空间域转换为频域&#xff…

element+vue 之 v-limit 按钮操作权限

1.新建一个permission.js文件 import store from /storeexport default {inserted: function (el, binding) {const { perms: limits } store.state.userconst { value: params } bindingif (!limits.length) returnif (params && Array.isArray(params)) {if (!limi…

如何利用PyTorch?

上一篇文章介绍了“What is PyTorch?”,本篇文章探讨一下“How to use PyTorch?” 1、PyTorch PyTorch 是一个开源机器学习库,基于 Torch 库开发,主要由 Facebook 的人工智能研究实验室(FAIR)研发。它是一个强大且灵…

【备忘】thinkphp5.1之websocket长连接框架使用流程简述

前言 本文纯属经验备注,有许多地方未进行测试,请勿照搬,仅供参考。 之前专门花了几天时间测试了websocket,当时只记得踩了许多坑,但是没有对测试流程进行记录,导致长时间未使用从而无从下手。 今天就简单…

08.Elasticsearch应用(八)

Elasticsearch应用(八) 1.为什么需要相关性算分 我们在文档搜索的时候,匹配程度越高的相关性算分越高,算分越高的越靠前,但是有时候我们不需要算分越高越靠前我们可能需要手动影响算分来控制顺序比如广告&#xff08…