用户认证安全性测试

用户认证安全性测试

认证与会话管理

认证--Authentication

认证实际上就是一个验证凭证的过程

目的是为了认出用户是谁

01 常见认证方式

02 session认证

  • SessionID一旦在生命周期内被窃取,就等于账户失窃
  • Session劫持就是一种通过窃取用SessionID后,使用该SessionID登录进目标账户的攻击方法
Session Fixation攻击
Session保持攻击

03 Token认证

多因素认证

因此为了增强安全性,大多数网上银行和网上支付平台都会采用双因素或多因素认证

session和token区别
  • session

Session(会话):

1.会话是在客户端和服务器之间建立的持续通信连接,用于跟踪用户在应用程序或网站上的活动状态。

2.会话通常由服务器创建,并与特定用户相关联。一旦建立,服务器会为用户分配一个唯一的会话标识符(通常是会话 ID),识别用户的请求。

3.会话通常在用户登录时创建,并在用户退出登录或超时一段时间后销毁。它可以存储用户的临时数据,在用户与服务器之间的多个请求之间共享。

  • token

1.令牌是一个用于身份验证和授权的凭证,通常由服务器颁发给客户端

2.令牌可以是持久的(长期有效)或短暂的(一次性)。

3.在身份验证方面,令牌通常是通过用户名和密码进行身份验证后,由服务器签发给客户端的。客户端在将来的请求中可以使用令牌来证明其身份,而无需再次提供用户名和密码。

4.在授权方面,令牌可以包含授权信息,`允许客户端访问特定资源或执行特定操作。

04 暴力破解

密码的那些事

密码是最常见的认证手段,持有正确密码的人被认为是可信的

密码的优点是使用成本低,认证过程实现起来很简单

缺点是密码认证是一种比较弱的安全方案,可能会被猜解

"密码强度"是设计密码认证方案时第一个需要考虑的问题

密码设置推荐策略
  • 密码长度方面

普通应用要求长度为6位以上

重要应用要求长度为8位以上,并考虑双因素认证

  • 密码复杂度方面

密码区分大小写字母

密码为大写字母、小写字母、数字、特殊符号中两种以上的组合

不要有连续性的字符,比如:1234abcd

尽量避免出现重复的字符,比如:1111

  • 其他

不要使用用户公开的数据或者个人隐私相关的数据作为密码

会话--Authorization

授权是授予用户可以操作的权限

目的是为了决定用户能够做什么

权限控制

权限管理方式

垂直权限管理

1.使用"最小权限原则"

2.使用"默认拒绝"的策略

3.只对有需要的主体单独配置"允许"的策略

水平权限管理

1.水平权限管理问题,至今仍然是一个难题

2.它难以发现,难以在统一框架下解决

3.很难通过扫描等自动化测试方法将这些问题全部找出

相关推荐
cpolar技术支持14 小时前
Kafka Streams 窗口统计怎么验收:本地跑订单流聚合,用 cpolar 给同事看只读结果页
java·docker·kafka·cpolar·kafka streams
爱读源码的大都督14 小时前
DeepSeek面试官问:生产RAG系统回答不准确,该如何定位和优化?这样回答,能让面试官当场给你Offer!
java·后端·python
Cx330❀14 小时前
【Linux网络】深入TCP协议:从滑动窗口到拥塞控制与性能优化全景解析
linux·开发语言·网络·tcp/ip·ai·性能优化·ai编程
自动化监测Learner14 小时前
自动化监测数据传不出廊道?大坝通信组网选型实战:RS485、光纤、4G、LoRa、北斗短报文一篇讲透
运维·网络·自动化
aodunsoft15 小时前
安全月报 | 傲盾DDoS攻击防御2026年8月简报
网络·安全·ddos
杨运交15 小时前
[069][公共模块]Spring Boot 全局异常处理与参数校验实战(下):校验异常精细化处理与 WebFlux 适配
java·spring boot·后端
Raas10015 小时前
MAI Gateway(魔芋企业级AI网关)对比分析:AI网关和OpenRouter区别?企业级能力差距一览
java·服务器·网络·人工智能·gateway·ai网关·mai gateway
wtblszn15 小时前
光伏封装产线智能管理平台方案
网络·物联网
APItesterCris15 小时前
告别人工盯品!借助 Open‑Claw 快速搭建电商商品全自动监控与数据分析系统(完整实操代码)
java·大数据·前端·数据库
青山木15 小时前
Hot 100 --- 跳跃游戏 II
java·数据结构·算法·leetcode·贪心算法