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

《安全测试指南》——会话管理测试【学习笔记】

【会话管理测试】

 *部分括号内容均为个人理解 。

1. 会话管理架构绕过测试(OTG-SESS-001)

  主要测试会话cookie是否不可预测。

    攻击模式:cookie搜集(搜集足够数量的cookie样本)

         cookie逆向工程(分析Cookie生成算法)

            cookie操控(伪造cookie实施攻击)

测试方法

  1)黑盒测试

  <cookie收集>  :应用程序有多少个Cookie?应用程序哪些Cookie会发生改变?应用程序哪个部分需要Cookie?(即查找Cookie中对应用有时效性的部分) 

  <会话分析>:令牌结构——静态部分 + 动态部分

  <会话ID可预测性与随机性>:

    SessionID是否可证明具有随机性?已生成的值是否还会再现?

    后续的每次运行中相同输入条件能否产生相同ID?

    SessionID是否可证明能抵抗统计或密码分析?

    SessionID哪些元素与时间相关?

    SessionID哪一部分是可预测的?

    若充分了解生成算法和上一个ID,能否推断出下一个ID?

  <Cookie逆向工程>

     ①不可预测性:随机值或加密算法。

     ②防篡改。

     ③有效期。

     ④Secure(可保证在加密通道传输,防止窃听。)

  <暴力破解攻击> 

    会话ID的取值是否足够大,以防止暴力破解。

  2)灰盒测试

    ①会话令牌的随机性

    ②令牌长度

    ③会话超时

    ④Cookie属性配置

      a. non-persistent:只在内存中;

      b.secure(设置只在HTTPS通道上传输):Set Cookie:cookie=data;path=/;domain=.aaa.it;secure;

      c.HTTPOnly(脚本不可读):Set Cookie:cookie=data;path=/;omain=.aaa.it;HTTPOnly;

工具:OWASP_Zed_Attack_Proxy_Project、Burp Sequencer、Foundstone CookieDigger、YENG's JHijack

 

2. Cookie属性测试(OTG-SESS-002)(与上面有点重复,看这条就行)

  secure:告诉浏览器只在请求通过https的安全通道发送时才加入Cookie。

  HttpOnly:不允许通过客户端脚本访问Cookie,可防止跨站脚本类的攻击。但并不是所有浏览器支持该功能

  domain:用于匹配域以及其子域。

  Path:若域和路径都匹配,那么cookie将会在请求中发送。

  expires:用于设置永久性Cookie。若没有设置该属性,那么Cookie只在当前浏览器会话中有效,会话结束时,Cookie便会被删除。

测试方法

  1)黑盒测试

  <测试cookie属性漏洞>  

    检查Secure属性、HttpOnly属性、Domain属性、Path属性、Expires属性。

 

3. 会话固化测试(OTG-SESS-003)

  用户成功认证后未更新会话Cookie,攻击者可盗取用户会话(会话劫持)。

测试方法

  1)黑盒测试

  <会话固定漏洞测试>  

    (检查登录前、登录时、注销后的会话值是否变化)

  2)灰盒测试

    与开发人员确认会话的更新机制。

工具:OWASP WebScarab、YENG's JHijack 。

 

4. 会话变量泄露测试(OTG-SESS-004)

测试方法

  <测试会话令牌的加密&重用漏洞>(检查https以及每次认证成功后会话令牌是否更新)

  <代理&缓存漏洞>

     应使用“expires:0”与“Cache-Control:max-age=0”

  <GET&POST漏洞测试>(post比get安全)

  <传输漏洞测试>(检查是否加密传输?是否POST与GET可互换?)

     

 5. 跨站请求伪造CSRF测试(OTG-SESS-005)

   造成原因:仅通过Cookie来识别会话,而浏览器会自动地发送Cookie。

  CSRF依赖以下条件:1.处理会话方式(Cookie或http认证);2.攻击者对web的url了解程度;3.只依赖浏览器存活的会话;4.存在触发浏览器访问的标签。

  <img src="http://www.a.com/a/v/b/" width="0" height="0">

测试方法

  1)黑盒测试

    · 构造一个html页面,包含引用恶意url的http请求;

    · 确保目标用户已登录应用程序;

    · 诱导目标用户访问恶意链接;

    · 检查web服务器是否成功执行预定请求。

 

工具:CSRFTester、Pinata-csrf-tool。

加固措施:在URL中添加会话相关的信息。

 

 

 

 *本文仅为《安全测试指南4.0》一书的个人学习笔记

http://www.jsqmd.com/news/65710/

相关文章:

  • 氛围编程工具个人推荐
  • Windows 11全面AI化:语音助手与自主代理技术解析
  • 20251207
  • MyBatis自定义拦截器
  • 网线大鲨鱼
  • 深入解析:mysql内置函数——了解常用的函数
  • 【P1】win10安装 Docker教程 - 详解
  • csq-蓝桥杯python-基础语法1-逻辑运算与条件语句
  • 高级语言程序设计第八次个人作业
  • Cor1e的支票
  • 卷积神经网络是从多层感知机基础上发展起来的吗?
  • gaussdb json解析
  • 详细介绍:python logging模块:专业日志记录
  • JAX核心设计解析:函数式编程让代码更可控
  • 20232305 2025-2026-1 《网络与系统攻防技术》实验八实验报告
  • 患者投诉管理,是否正面临这些难题?
  • NOIP 游记
  • CF794E Choosing Carrot
  • 澄清:梯度下降优化的是模型参数,而非损失函数本身
  • 用心算感受天地运行法则的气功
  • 一文带你搞懂 AI Agent 开发利器:LangGraph 与 LangChain 区别
  • core学习之路
  • XXL-JOB v3.3.1 发布 | 升级SpringBoot4、健壮性增强
  • 梯度:明明是个“方向”,为啥偏叫“度”?
  • 苹果游戏订阅服务新增六款作品,涵盖模拟与动作冒险类型
  • 深入解析:【WPF】WrapPanel的用法
  • 10407_基于springboot的就业信息分享系统
  • U渠道:构建百万级广告甲乙方资源生态,助力行业高效对接与价值共赢
  • 微信小程序开发案例 | 幸运抽签小工具(上)
  • 学习笔记