目录

1. Web安全的测试范围

2.Web安全的四要素

3. Web安全的分类

4. Web安全的类别排名​

5. 零时差攻击

6. Web安全的载体

7. 了解软件安全测试相关的Cooike,Session,Token

7.1 会话级鉴权及认证技术

7.2 会话安全管理需要授权和鉴权两个步骤

7.3 Cookie

7.3.1 Cookie类型

7.3.2 Cookies测试(session测试同)

7.3.3 如何使用Cookie来保持登录状态

7.4 Session

7.4.1 session安全测试的原理

7.4.2 session安全测试的过程

7.4.3 Session的其他测试

7.4.4 如何使用Session来保持登录状态

7.4.5 Session的两种实现方式(也就是传递方式)

7.5 Token

7.5.1 Token概述

7.5.2 使用Token保持会话的原理

7.5.3 JWT

7.6 Session与Cookie的区别

7.6.1 存储位置不同

7.6.2 安全性不同

7.6.3 性能不同

7.6.4 会话的安全管理

7.6.5 其他

7.7 Web客户端的作用

7.8 Web服务端作用


1. Web安全的测试范围

服务器系统的漏洞,权限,网络端口的管理,Tomcat,Apache的配置,浏览器本身的安全配置,web应用程序本身的前端,后端,数据库安全等。

2.Web安全的四要素

安全性

可靠性

可用性

完整性

3. Web安全的分类

web安全性包括但不仅限于下面几个部分,做好系统,数据库,服务器配置的安全测量,提高整体的安全防护等级,确保开发的应用程序遵从安全标准开发。

4. Web安全的类别排名

5. 零时差攻击

0day又叫零时差攻击,是指被发现后立即被恶意利用的安全漏洞,通俗地讲,即安全补丁与瑕
疵曝光的同一日内,相关的恶意程序就出现,这种攻击往往具有很大的突发性与破坏性。

  • Oday就是只有你知道的一个漏洞!
  • 1day就是刚刚公布的漏洞(没有超过一天)
  • nday就是这个漏洞已经公布出来了N天啦!

6. Web安全的载体

web安全的载体是网络协议,而网络协议中最常见的是http协议。

Http协议的性质:

  • HTTP是简单的
  • HTTP是可扩展的
  • HTTP是无状态,有会话的
  • HTTP是可靠的
  • Web客户端的作用

7. 了解软件安全测试相关的Cooike,Session,Token

7.1 会话级鉴权及认证技术

  • cookie管理、
  • session会话技术
  • token令牌技术

Cookie管理是浏览器的一种策略,用于解决http协议是无状态连接问题的, Cookie可以记录用户浏览历史,辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据。
不管是session会话技术还是token令牌技术都是基于cookie管理进行的。

7.2 会话安全管理需要授权和鉴权两个步骤

  • 授权:相当于下发一个通行证(通行证保存cookie管理器)
  • 鉴权:鉴定是否有权访问(判断有请求是否正确携带通行证)

7.3 Cookie

7.3.1 Cookie类型

  • 会话Cookie:保存在内存中,由浏览器维护,浏览器关闭后消失。
  • 持久性Cookie:保存在硬盘里,有过期时间,用户手动清理或到了过期时间,持久性Cookie会被删除。
  • Expires属性:Cookie中的maxAge或者Expired用来表示该属性,单位为秒

7.3.2 Cookies测试(session测试同)

  • Cookies是否起作用;
  • Cookies是否按预定的时间进行保存;
  • 刷新对Cookies有什么影响
  • 避免保存敏感信息到cookie文件中。如用户名、密码

作用域  不同应用系统不同作用域。下图中为单个应用系统,Path对应的是这个cookie的作用域,斜杠表示根目录,即该条cookeie作用域为整个应用系统

Set-Cookie: access-token=LluyJIfAggsBH_woZgQAledLq3ZJzNwOD501WuvHNdjV5JthEWw; Path=/
  • 屏蔽 Cookie,检查当Cookie 被屏蔽时Web 系统会出现什么问题
  • 篡改Cookie,如果某些存储下来的Cookie 被篡改了,或者被删除了,Web 系统会出现什么问题吗?优秀的设计则会检测到Cookie 数据的篡改,及时更新替换Cookie 文件
  • Cookie 加密测试,检查存储的Cookie 文件内容,看是否有用户名、密码等敏感信息存储,并且未被加密处理。某些类型的数据即使是加密了也绝对不能存储在Cookie 文件中的,例如:信用卡号。
  • HttpOnly 属性的设置:把Cookie 的HttpOnly 属性设置为True 有助于缓解跨站点脚本威胁,防止Cookie 被窃取
  • Secure 属性的设置:把Cookie 的Secure 属性设置为True,在传输Cookie 时使用SSL连接,能保护数据在传输过程中不被篡改
  • Cookie 过期日期设置的合理性:检查是否把Cookie 的过期日期设置得过长

7.3.3 如何使用Cookie来保持登录状态

7.4 Session

  • 用户第一次请求服务器时,服务器端会生成一个sessionId
  • 服务器端将生成的sessionId返回给客户端,通过set-cookie
  • 客户端收到sessionId会将它保存在Cookie中,当客户端再次访问服务端时会带上这个sessionId
  • 当服务端再次接收到来自客户端的请求时,会先去检查是否存在sessionId,不存在就新建一个sessionId重复1,2的流程,如果存在就去遍历服务端的session文件,找到与这个sessionId相对应的文件,文件中的键值便是sessionId,值为当前用户的一些信息
  • 此后的请求都会交换这个 sessionId ,进行有状态的会话

7.4.1 session安全测试的原理

Session是应用系统对浏览器客户端身份认证的属性标识,在用户退出系统时应将客户端session认证属性标识清空。如果未能及时清空客户端session标识,下次登录时系统会重复利用该session标识进行认证会话。攻击者可以利用该漏洞生成固定的session会话,诱骗用户利用攻击者生成的固定会话进行系统登录,从而导致用户会话认证被窃取。

7.4.2 session安全测试的过程

在注销退出系统时,对当前浏览器授权 SessionID 值进行记录。再次登录系统,将本次授权 SessionID 值与上次进行比对校验。判断服务器是否使用与上次相同的 SessionID 值进行授权认证,若使用相同 SessionID 值则存在固定会话风险.

  • 截取注销退出时请求中的sessionid
  • 截取再次登录时的sessionid

7.4.3 Session的其他测试

  • session的创建时间点,是打开浏览器访问开始创建session?还是用户登陆时开始创建session? 还是其它情况下创建的
  • session的删除时间点,过期文件是否删除,关闭浏览器时,session是否会删除?当有多个窗口时,是全部关掉还是关掉一个会删除session?
  • session超时,基于Session原理,需要验证系统session是否有超时机制,还需要验证session超时后功能是否还能继续走下去。

测试方法:

1)打开一个页面,等着10分钟session超时时间到了,然后对页面进行操作,查看效果。

2)多TAB浏览器,在两个TAB页中都保留的是用户A的session记录,然后在其中一个TAB页执行退出操作,马上在另外一个页面进行要验证的操作,查看是能继续到下一步还是到登录页面。

  • session互窜,即是用户A的操作被用户B执行。

测试方法:

多TAB浏览器,在两个TAB页中都保留的是用户A的session记录,然后在其中一个TAB页执行退出操作,登陆用户B, 此时两个TAB页都是B的session,然后在另一个A的页面执行操作,查看是否能成功。 预期结果:有权限控制的操作,B不能执行A页面的操作,应该报错,没有权限控制的操作,B执行了A页面 操作后,数据记录是B的而不是A的

  • Session垃圾回收
  • 关闭浏览器同时关闭session
  • Session 销毁
  • session丢失,代码问题
  • 不同浏览器Session的共享机制不一致

IE中,所有打开的IE窗口(IE 进程)共享一个session。除非,用户通过菜单 File > New session  打开新窗口,或者使用命令行参数 iexplore.exe -nomerge 来打开IE。  另外,当所有IE窗口被关闭后,session 结束。

  • 服务器端是否设置了最大并发session数量
  • 防止由于登录人数过多,造成服务器内存被消耗殆尽或服务器无响应的情况。
  • 刷新操作对session是否存在影响
  • 登录并进行相关操作后,退出系统,点击浏览器中的后退按钮,是否能回到刚才所做的操作页面
  • 登录后,进入一个页面后,能否将该页面地址拷贝后,再打开一个新的浏览器,直接粘贴该页面地址后,就能进行相关操作
  • 若后台的网络架构使用了负载均衡,要考虑在同一客户访问的页面被提交到了不同的服务器后,session能否正确共享

例如:用户登陆后的请求被A服务器处理,但是用户接下来的操作却被B服务器处理,此时登录后的session是否能够被正确共享

  • 若创建session时,由于环境故障(IE死机,或网络暂时断开等),造成session创建异常或失败,系统会如何反应
  • 若创建session时,由于环境故障(IE死机,或网络暂时断开等),造成session创建异常或失败,若环境恢复后,系统是否会自动生成session
  • 进行大量用户并发登录时,是否会造成session创建时间延时,导致无法正常创建session

7.4.4 如何使用Session来保持登录状态

7.4.5 Session的两种实现方式(也就是传递方式)

  • 通过Cookie实现
  • 通过URL重写来实现

7.5 Token

7.5.1 Token概述

7.5.2 使用Token保持会话的原理

  • 用户通过用户名和密码发送请求。
  • 程序验证。
  • 程序返回一个签名的token给客户端。
  • 客户端储存token,并且每次用于每次发送请求。
  • 服务端验证token并返回数据。

7.5.3 JWT

7.6 Session与Cookie的区别

7.6.1 存储位置不同

Session是存在服务器端的,而Cookie是存在客户端的

7.6.2 安全性不同

Session不会受浏览器端的设置影响,可记录每个访问者的信息,独立在服务器端,比Cookie安全!

Session是存在内存中的,浏览器关闭它也就“死”了;Cookie是以文件方式存在的,可以修改其“存活”时间

7.6.3 性能不同

session 存放在服务端,过多会影响服务器性能,而Cookie是存放在客户端,没有性能影响

7.6.4 会话的安全管理

7.6.5 其他

  • 服务端保存状态机制需要在客户端做标记,所以Session可能借助Cookie机制
  • Cookie通常用于客户端保存用户的登录状态
  • Session是可以存取任何类型的数据的,但是Cookie只能存入字符串
  • Cookie存储数据大小有限制,Session没有限制

7.7 Web客户端的作用

  • 用来发送HTTP请求
  • 接收服务器响应
  • 把服务器返回的HTML代码渲染成界面Web客户端来主要是浏览器。

7.8 Web服务端作用

  • 监听客户请求
  • 处理客户端的简单请求(一般静态页面)
  • 客户端与数据库之间的屏障
  • 处理复杂系统的业务和数据库的访问

软件安全测试-web安全测试基础相关推荐

  1. 测试——Web网站测试主要测试那些内容

    一般的网站的主要测试内容就分为以下几点: 目录 功能测试 性能测试 安全测试 稳定测试 兼容性测试 压力测试 功能测试: 功能测试常用到的有效方法: 等价划分法:                    ...

  2. 专项测试-Web兼容性测试

    1.兼容性测试 1.1 随机测试 ü  使用IE6测试,从指派通知书自动加载的接收凭证转入新增时,显示的放大的页面,不合兼容性 ü  网站不兼容,页面有错乱[兼容性视图] ü  软件兼容性:操作系统是 ...

  3. 软件安全测试-Web安全测试详解-CSRF攻击

    1. 什么是CSRF攻击? CSRF(Cross Site Request Forgery),中文是跨站点请求伪造.CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用 ...

  4. Web应用测试(一)Selenium介绍及环境搭建

    Selenium介绍及环境搭建 一.背景介绍: (更好的阅读体验,请移步我的个人博客)软件测试比赛刚刚落下帷幕,在空档期,写写这些天的感受.不知不觉参加了好多次软件测试比赛了,开发者测试,移动应用测试 ...

  5. WEB安全性测试测试用例(基础).doc

    原文地址为: WEB安全性测试测试用例(基础).doc 建立整体的威胁模型,测试溢出漏洞.信息泄漏.错误处理.SQL注入.身份验证和授权错误. 1.输入验证 客户端验证服务器端验证(禁用脚本调试,禁用 ...

  6. 【0基础到精通】Web渗透测试学习路线

    Web安全相关概念 熟悉基本概念(SQL注入.上传.XSS.CSRF.一句话木马等). 1.通过关键字(SQL注入.上传.XSS.CSRF.一句话木马等)进行Google/SecWiki: 2.阅读& ...

  7. Web测试与APP测试有哪些异同?

    1.相同点  不管是传统行业的web测试,还是新兴的手机APP测试,都离不开测试的基础知识,即是不管怎么变,测试的原理依然会融入在这两者当中. 1)设计测试用例时,依然都是依据边界值分析法.等价类划分 ...

  8. 使用Arquillian,Docker和Selenium使Web UI测试再次变得出色(第1部分)

    问题简介 大多数时候,当您需要为Web UI编写功能测试/端到端测试时,您最终会使用Selenium ,它可以被视为Java世界中用于Web UI测试的事实上的工具. 我确定您已经将其用于此类测试. ...

  9. 《WEB应用测试》笔记(六)

    <WEB应用测试>笔记(六) 第三章 软件测试基础 18.软件开发阶段的常见范例 (1)a版:产品主要的和达成共识的部分已经完成.产品准备投入内部使用. (2)B前期版本:提交进行B验收的 ...

最新文章

  1. 微软 AI 设计原则:成为弱者,再带来惊喜
  2. Servlet的Filter的使用
  3. 推荐我记视频课程笔记的方法和几个工具
  4. 使用 Fluent API 配置/映射属性和类型
  5. python定时任务apschedule_APScheduler(python 定时任务框架)最简单使用教程
  6. linux 如何产生so文件,printf()函数 【转】Linux下gcc编译生成动态链接库*.so文件并调用它(2)...
  7. 毕业设计(三)---spring学习笔记(1)之-IOC
  8. Joey Sturgis Tones Soar for Mac(音效延迟插件)
  9. 重磅!Pandownload开发者被抓,一代神器落幕!
  10. 装系统时出现获取硬盘分区失败 可能缺少硬盘驱动怎么办
  11. 大数据行业发展前景及岗位方向如何?
  12. 【2022】【论文笔记】基于激光直写氧化石墨烯纸的超薄THz偏转——
  13. 【独行秀才】macOS Monterey 12.1Beta2(21C5031d)原版镜像
  14. 使用动态规划求解算法问题的五大特点总结(附基于Python的参考代码)
  15. 2021年中国皮卡产销量及竞争格局分析,市场迎来新发展机遇「图」
  16. 全球首位 AI 律师出庭,花 100 万美元找“传话筒”!网友:头脑正常的人谁会同意?...
  17. 高德地图第三方工具网站
  18. 计算机图形学——光线追踪(RayTracing)算法
  19. 怎样实现服务器远程操作系统,如何远程控制家里的电脑或服务器?
  20. c++读取倍福PLC中轴状态

热门文章

  1. Python中is、not、is not的区别
  2. 1.C语言入门知识(codeblocks)
  3. 微信支付V3版本回调+验签流程
  4. 下行法求最小割集案例_机械产品典型失效分析案例
  5. 名人故事之 Ivan Edward Sutherland
  6. 单轴滑轨实验台实现的运动控制(1)
  7. Matlab基本操作和矩阵输入(郭彦甫视频学习笔记)
  8. 计算机专业srtp项目选题,我都大二了,才知道什么是SRTP
  9. 中彩双色球彩票软件 红球预测专家 多特软件
  10. 用友U8/T3各版本下载