一、前言
对于系统会话管理安全测试几点终结,主要有:身份信息标识、Cookie存储方式、会话注销测试、会话定置,下面分别说明介绍
二、详细说明
1.身份信息标识
测试目的:发现目标系统是否采用参数来进行简单身份判断。
测试用例步骤:
1)登录系统
2)配置Burpsuite进行http get和post请求拦截
3)请求Web页面
4)在Burpsuite中查看请求报文
5)检查请求消息中是否携带了与用户身份相关的数据。如果有,修改身份信息。如果服务器端以修改后的身份进行操作,则说明存在漏洞,完成测试。
2.Cookie存储方式
测试目的:某些Web应用将SesssionId放到了URL中进行传输,攻击者能够诱使被攻击者访问特定的资源,例如图片。在被攻击者查看资源时获取该SessionID(在HTTP协议中Referer标题头中携带了来源地址),从而导致身份盗用。
测试用例步骤
1)登录系统。
2)请求不同的业务应用
3)观察URL。
4)URL中没有携带Session ID信息(可能是sid,JSESSIONID等形式)。
3.会话注销测试
测试目的:某些Web应用在退出后,仍然能正常操作业务应用,出现注销失效。
测试用例步骤:
1)Web业务运行正常
2)Web业务存在登陆认证模块
3)已知正确的用户名、口令
4)正常登陆后,点击“退出”、“注销”按钮
5)重新打开某个功能页面,看是否重定向到登陆页面。
4.会话定置(session fixation)测试
测试目的:查看登录成功后会话标识是否变更。如果未变更,那么攻击者就可以通过一些手段(如构造URL)为受害着确定一个会话标识,当受害者登录成功后,攻击者也可以利用这个会话标识冒充受害者访问系统。
测试用例步骤:
1)访问登录页面
2)开启Burpsuite,配置对GET和POST请求进行拦截;并在浏览器中配置代理服务器IP为127.0.0.1,端口为8008
3)填入正确的用户名和口令,填入正确的验证码,登录
4)Burpsuite跳出拦截界面,点击“RAW”TAB页,查看会话标识(例如JSP的会话标识为JSESSIONID)的值。
5)点击“Accept Changes”,登录成功。
6)成功登录后,点击系统提供的链接,请求任意功能页面。
7)Burpsuite再次跳出拦截界面,点击“RAW”TAB页,查看(例如JSP的会话标识为JSESSIONID)的值。
8)如果步骤4和步骤7查看到的会话标识的值一样,说明登录前后会话标识没有变更,存在会话定置的安全漏洞。