Web会话安全测试

Web会话安全测试 - 知乎

1、会话ID不可预测性

【要求】
会话ID必须采用安全随机算法(如SecureRandom)生成,并且强度不得低于256位(32字符),如采用Tomcat原生JSESSIONID
【描述】
密码与证书等认证手段,一般仅仅用于登录(Login)的过程。当登陆完成后,用户访问网站的页面,不可能每次浏览器请求页面时,都再使用密码认证一次。因此,当认证完成后,就需要替换一个对用户透明的凭证。这个凭证就是SessionID
【指导】
1、测试中可以通过重复登录6次,查看每次登录成功后的会话ID是否是随机生成


2、会话ID强度不得低于256位(32字符)


【判断标准】
1、控制台中jsessionid(sessionid)值长度大于等于32位
2、jsessionid(sessionid)参数无规律生成

2、防止会话固定

【要求】
在用户登录成功后,必须重新设置SESSIONID,避免使用登录前的SESSIONID
【描述】
会话固定攻击(session fixation attack)是利用应用系统在服务器的会话ID固定不变机制,借助他人用相同的会话ID获取认证和授权,然后利用该会话ID劫持他人的会话以成功冒充他人,造成会话固定攻击
【指导】
1、造成会话固定攻击的原因,主要是会话ID在登录后没有重新生成,测试中需要查看登录后会话ID生成情况,使用burpsuite对登录抓包


2、登录成功后重新生成会话ID,可以防止会话固定攻击
【判断标准】
登录前,和登录成功后Set-Cookie相同则存在会话固定漏洞

3、会话超时退出机制

【要求】
会话必须存在超时机制,当用户在一定时间内不操作,则需要主动注销会话,如管理后台系统一般要求30min,面向互联网用户的系统一般要求24H
【描述】
检查会话是否有超时退出机制,无会话超时机制存在用户信息泄露风险,A用户登录平台后若忘记注销登录,后面B用户访问改平台可以直接查看A用户的信息
【指导】

  1. 对已登录授权的系统页面使用Burp Suite工具进行请求数据截取,例如个人信息页面


2、在数据截取窗口中使用鼠标右击,在弹出菜单中选择"Send Repeater",将请求数据发送至Repeater模块中。


3、在此后30分钟内不再使用该授权会话与服务器进行交互访问。30分钟过后在 Repeater 模块相应授权数据信息页面中单击"Send"按钮,查看服务器返回数据


【判断标准】
业务会话,没有超时退出机制则存在问题

4、会话注销

【要求】
用户退出登录后,必须强制session/token过期,并清空服务端session属性标识
【描述】
在用户注销或退出登录系统时,系统应将客户端session/token等认证属性标识清空,如果未能清空,该认证会话持续有效,此时攻击者获得该认证会话会导致用户权限被盗取
【指导】
1、使用burpsuite抓取一个登录成功后的会话,并发送到repeater,登录状态重放服务器返回200OK


2、注销登录后,点击Send进行重放


【判断标准】
用户退出登录后,必须强制session/token过期。注销登录后,会话未失效可被正常调用则存在问题

5、限制并发登录检查

【要求】
1、 限制用户的并发登录数量,如管理类系统一般要求禁止并发登录,同一帐号同一时间只允许在同一设备登录
2、如果无法限制并发登录,建议提供并发登录提醒功能,提示用户当前帐号正在并发登录,如提供登录的IP、时间、地点等信息
【描述】
若不限制并发登录,很容易造成条件竞争漏洞,并且在登录状态可以感知账号密码泄露后,攻击者恶意登录
【指导】
1、使用不同设备(例如手机、电脑,设备间未授权)同一账号登录同一平台,查看登录情况


2、若平台有做限制并发登录,后登录的设备无法登录成功,登录成功的设备会提示异常登录,提醒用户账号密码可能泄露
【判断标准】
相同账户,可在不同未授权设备间登录,则存在问题

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

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

相关文章

springboot336社区物资交易互助平台pf(论文+源码)_kaic

毕 业 设 计(论 文) 社区物资交易互助平台设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此&#xff…

富文本编辑器图片上传并回显

1.概述 在代码业务需求中,我们会经常涉及到文件上传的功能,通常来说,我们存储文件是不能直接存储到数 据库中的,而是以文件路径存储到数据库中;但是存储文件的路径到数据库中又会有一定的问题,就是 浏览…

结构体详解+代码展示

系列文章目录 🎈 🎈 我的CSDN主页:OTWOL的主页,欢迎!!!👋🏼👋🏼 🎉🎉我的C语言初阶合集:C语言初阶合集,希望能…

学习ASP.NET Core的身份认证(基于Session的身份认证1)

ASP.NET Core使用Session也可以实现身份认证,关于Session的介绍请见参考文献5。基于Session的身份认证大致原理就是用户验证成功后将用户信息保存到Session中,然后在其它控制器中从Session中获取用户信息,用户退出时清空Session数据。百度基于…

题目 3209: 蓝桥杯2024年第十五届省赛真题-好数

一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位 )上的数字是奇数,偶数位(十位、千位、十万位 )上的数字是偶数,我们就称之为“好数”。给定一个正整数 N,请计算从…

人工智能如何改变你的生活?

在我们所处的这个快节奏的世界里,科技融入日常生活已然成为司空见惯的事,并且切实成为了我们生活的一部分。在这场科技变革中,最具变革性的角色之一便是人工智能(AI)。从我们清晨醒来直至夜晚入睡,人工智能…

MATLAB - ROS2 ros2genmsg 生成自定义消息(msg/srv...)

系列文章目录 前言 语法 ros2genmsg(folderpath)ros2genmsg(folderpath,NameValue) 一、说明 ros2genmsg(folderpath) 通过读取指定文件夹路径下的 ROS 2 自定义信息和服务定义来生成 ROS 2 自定义信息。函数文件夹必须包含一个或多个 ROS 2 软件包。这些软件包包含 .msg 文件…

LeetCode:19.删除链表倒数第N个节点

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:19.删除链表倒数第N个节点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表…

探索光耦:光耦安全标准解读——确保设备隔离与安全的重要规范

在现代科技日新月异的今天,光耦(光电耦合器)作为电子设备中不可或缺的隔离元件,其重要性不言而喻。它不仅在电源调控、工业自动化及医疗设备等关键领域大显身手,更是确保系统电气隔离与运行稳定的守护神。特别是在保障…

ubuntu+ROS推视频流至网络

目录 概述 工具 ros_rtsp 接受流 web_video_server 源码安装 二进制安装 ros接收rtsp视频流 总结 概述 ros_rtsp功能包可以将ros视频流以rtsp形式推送 web_video_server功能包可以将ros视频话题推HTTP流 rocon_rtsp_camera_relay可以接受同一网段下的rtsp视频流输出为…

如何在Python中进行数学建模?

数学建模是数据科学中使用的强大工具,通过数学方程和算法来表示真实世界的系统和现象。Python拥有丰富的库生态系统,为开发和实现数学模型提供了一个很好的平台。本文将指导您完成Python中的数学建模过程,重点关注数据科学中的应用。 数学建…

Hbase2.2.7集群部署

环境说明 准备三台服务器,分别为:bigdata141(作为Hbase主节点)、bigdata142、bigdata143确保hadoop和zookeeper集群都先启动好我这边的hadoop版本为3.2.0,zookeeper版本为3.5.8 下载安装包 下载链接:In…

【mac】终端左边太长处理,自定义显示名称(terminal路径显示特别长)

1、打开终端 2、步骤 (1)修改~/.zshrc文件 nano ~/.zshrc(2)添加或修改PS1,我是自定义了名字为“macminiPro” export PS1"macminiPro$ "(3)使用 nano: Ctrl o (字母…

(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验二----网络分析(超超超详细!!!)

相信实验一大家已经完成了,对Arcgis已进一步熟悉了,现在开启第二个实验 ArcMap实验--网络分析 目录 ArcMap实验--网络分析 1.1 网络分析介绍 1.2 实验内容及目的 1.2.1 实验内容 1.2.2 实验目的 2.2 实验方案 2.3 实验流程 2.3.1 实验准备 2.3.2 空间校正…

云技术-docker

声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团…

如何保护LabVIEW程序免遭反编译

在正常情况下,LabVIEW程序(即编译后的可执行文件或运行时文件,如 .exe 或 .llb)无法直接被反编译出源码。然而,有一些需要特别注意的点: 1. LabVIEW的编译机制 LabVIEW编译器会将源码(.vi文件&a…

C++自动化测试:GTest 与 GitLab CI/CD 的完美融合

在现代软件开发中,自动化测试是保证代码质量和稳定性的关键手段。对于C项目而言,自动化测试尤为重要,它能有效捕捉代码中的潜在缺陷,提高代码的可维护性和可靠性。本文将重点介绍如何在C项目中结合使用Google Test(GTe…

速度革命:esbuild如何改变前端构建游戏 (1)

什么是 esbuild? esbuild 是一款基于 Go 语言开发的 JavaScript 构建打包工具,以其卓越的性能著称。相比传统的构建工具(如 Webpack),esbuild 在打包速度上有着显著的优势,能够将打包速度提升 10 到 100 倍…

【逐行注释】自适应观测协方差R的AUKF(自适应无迹卡尔曼滤波,MATLAB语言编写),附下载链接

文章目录 自适应R的UKF逐行注释的说明运行结果部分代码各模块解释 自适应R的UKF 自适应无迹卡尔曼滤波(Adaptive Unscented Kalman Filter,AUKF)是一种用于状态估计的滤波算法。它是基于无迹卡尔曼滤波(Unscented Kalman Filter&…

实现 Browser 客户端下载 XML 文件功能

后端 使用 io.BytesIO 方法 创建一个字节缓冲区在不需要磁盘文件的情况下进行文件操作打包为 zip 压缩包(上图代码)in_memory_zip.seek(0) 数据写入ZIP后文件指针会停留在缓冲区的末尾将文件指针重置回开头make_response() 方法用于创建HTTP响应的函数.g…