随着因特网的不断发展,人们对网络的使用越来越频繁,通过网络进行购物、支付等其他业务操作。而一个潜在的问题是网络的安全性如何保证,一些黑客利用站点安全性的漏洞来窃取用户的信息,使用户的个人信息泄漏,所以站点的安全性变得很重要。

Web 系统的安全性测试包括以下内容:

(1)Web 漏洞扫描

(2)服务器端信息测试

(3)文件和目录测试

(4)认证测试

(5)会话管理测试

(6)权限管理测试

(7)文件上传下载测试

(8)信息泄漏测试

(9)输入数据测试

(10)跨站脚本攻击测试

(11)逻辑测试

(12)搜索引擎信息测试

(13)Web Service 测试

(14)其他测试

本章节主要给大家介绍第(5)点——会话管理测试

会话管理是开发工程师对HTTP 协议无状态会话的一种管理过程。当用户在一个应用程序的页与页之间进行跳转时,还需要维护用户信息,因为HTTP 是一种无状态协议,即Web 服务器将某页的每次访问都当作相互无关的访问来处理,服务不会保留前一次访问的任何信息,即使访问就发生在当前访问的几秒钟之前。会话管理测试的主要内容如下:

1)身份信息识别方式测试

2) Cookie 存储方式测试

3) 用户注销、退出测试

4)注销后会话信息是否清除测试

5)会话超时测试

(1)身份信息识别方式测试

身份信息识别方式测试主要是测试系统通过什么方式来识别用户身份信息。在Web 系统中一般有多种不同角色的用户,不同的用户拥有的权限也不同,用户的身份识别变得非常重要。测试时需要注意在提交GET 或POST 请求时,不能有身份信息相关的数据或信息存在,否则系统存在漏洞。测试步骤如下:

步骤1:登录Web 系统

步骤2:使用工具(WebScarab)对HTTP 的GET 和POST 请求进行拦截

步骤3:进入登录请求,并分析拦截工具截获的请求报文件

步骤4:截获的请求中不应该包括与用户身份信息相关的数据,如果发现存在用户身份信息相关的数据,可以将用户身份信息进行修改,再次提交时,如果服务器端是以修改后的身份进行操作,则说明系统存在漏洞

用户的身份信息不能通过客户端来提交,而是通过服务器的会话管理来保存。

(2)Cookie 存储方式测试

某些Web 应用将SessionID 放到了URL 中进行传输,这样攻击者能够诱使被攻击者访问特定的资源(如图片)。在被攻击者查看资源时获取该SessionID(在HTTP 协议的Referer 标题头中携带了来源地址),从而导致身份盗用。

测试时应该测试不同的业务应用,观察URL 的内容,确保URL 中不出现SessionID 信息(可能是SID、JSessionID 等形式)。

(3)用户注销、退出测试

用户注销、退出测试主要测试用户登录后,系统的所有页面中是否存在正确的“退出”或“注销”按钮或链接。

(4)注销后会话信息是否清除测试

确保注销后会话信息是否被清除,是否能继续访问注销之前(也即登录之后)才能访问的页面。

测试步骤如下:

步骤1:使用工具(WebScarab)对HTTP 的GET 和POST 请求进行拦截。启动WebScarab 工具前,打开浏览器中的“Internet 选项”对话框,在“连接”选项卡中单击“局域网设置”按钮,弹出如图12-17 所示对话框。将其中地址设置为localhost,端口设置为8008

步骤2:登录Web 系统

步骤3:在Web 系统中进行一些操作(如添加用户信息),这样WebScarab 工具就会将GET和POST 请求拦截并记录下来

步骤4:注销或退出Web 系统

步骤5:在WebScarab 工具中选中步骤3 的URL,重新发送请求。

步骤6:查看返回的结果

返回的结果应该为HTTP/1.1 302 Moved Temporarily,即不能够访问只有登录才能访问的页面。

(5)会话超时测试

会话超时是指当浏览器窗口闲置超时时,是否需要重新登录的机制。测试时使用一个正确的账号进行登录,成功登录之后,将浏览器闲置一段时间(可以查看xml 文件中的session-timeout 参数值,该值表示会话的超时时间)。当闲置超过这个时间值时,系统提示需要重新登录。

asp.net web开发步骤_Web 系统安全性测试之会话管理测试相关推荐

  1. asp.net web开发步骤_WEB开发流程

    1.需求确定 2.分析与设计         (1)架构分析与设计         (2)业务逻辑分析        (3)业务逻辑设计         (4)界面设计 3.开发环境搭建 4.开发-测 ...

  2. 正常web页面登录时效是多少_Web 系统的安全性测试之权限管理测试

    随着因特网的不断发展,人们对网络的使用越来越频繁,通过网络进行购物.支付等其他业务操作.而一个潜在的问题是网络的安全性如何保证,一些黑客利用站点安全性的漏洞来窃取用户的信息,使用户的个人信息泄漏,所以 ...

  3. asp.net web开发步骤_如何在Windows上做Python开发?微软出了官方教程

    机器之心报道 参与:路 在 Windows 上做 Python 开发太痛苦?微软最近发布了一系列官方教程,终于-- 教程地址:https://docs.microsoft.com/zh-cn/wind ...

  4. asp.net web开发步骤_HTML5开发常见的7个框架,不可不知,收藏啦

    互联网的迅速发展,软件行业成了更多年轻人的就业选择.HTML5简单易学门槛低,是Web时代前端开发超好用的工具.而HTML5开发人员的就业薪资也远远高于其他行业. 资料显示,初级HTML5开发人员的平 ...

  5. ASP.NET Web开发技术的深入总结

    [IT168技术]在国内.Net开发这个环境里, 中小型公司.或者大公司但主营业务不是软件开发里面的软件小团队.针对.Net开发者的要求都是十项全能型的全才, 能做的了从前台页面展现到最后数据存储的全 ...

  6. web开发编译器_Web开发人员资源:大型编译

    互联网在不断发展,为即将到来的Web开发人员提供了数十万个集体资源. 从在线文章,教程,工具,指南到视频,您几乎可以在Web上学到任何东西. 上网从未如此简单! 下面,我整理了一些非常有用的Web开发 ...

  7. web开发环境_Web开发人员的开发环境

    web开发环境 With all the tools and programs available, it can be challenging to figure out the best way ...

  8. web开发入门_Web开发人员和设计师的自由职业入门

    web开发入门 Learn how to get started with freelancing as a web developer and designer. Cara Bell shares ...

  9. asp.net web开发——文件的上传和下载

    HTML部分 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.a ...

最新文章

  1. np.reshape 中的 -1 参数
  2. 多波次导弹发射中的规划问题(一) 网络图绘制及数据整理
  3. 判断windows进程是否存在
  4. 多媒体计算机探索 教案,多媒体的教学设计
  5. Spring Cloud的架构
  6. 修改spfile位置
  7. 如何确定你的伴侣真的爱你?复杂数学公式告诉你
  8. linux运行级别与服务
  9. “远程桌面己停止工作”的解决方法
  10. 如何确认虚拟机被哪台主机锁定以及如何解锁
  11. php本地文件包含漏洞,php文件包含漏洞利用小结
  12. [220208] Add Digits
  13. 将一个数转化为二进制java_java将一个整数转化成二进制代码示例
  14. Supervisor 自动管理进程
  15. Sprinboot支付宝h5支付、退款(java版)
  16. word取消限制编辑
  17. 前端2020面试题195道
  18. 迅捷画图怎样绘制出有创意的思维导图
  19. 利用conda安装包、卸载包、升级包、查看包信息等操作
  20. 如何阅读一本书 读书笔记

热门文章

  1. 在 C# 中,(int) ,Int32.Parse() 和 Convert.toInt32() 三种方法的区别
  2. Zabbix触发器_action动作及模板应用(二)
  3. Http 四种请求访问代码 HttpGet HttpPost HttpPut HttpDelete .
  4. 减肥日程表(WPS文档反馈群253147947)
  5. 配置cacti 监控squid
  6. OJ1158: 又是排序(指针专题)(C语言)
  7. c语言密码程序返回,想程序高手求助--用C语言来编辑一个输入密码的程序
  8. matlab1分钟数据转5分钟,把股票的5分钟k线数据转换成matlab的day文件
  9. 信息学奥赛一本通(1324:【例6.6】整数区间)
  10. 信息学奥赛一本通(1063:最大跨度值)