本篇安全测试知识点是根据《安全测试指南》记录,仅供参考(JSYK)。其主要目的是为了自己所学而记录的笔记。
——---------------🐥---------------HELLO-UNIVERSE----------------🐆------------------——
9-会话管理测试
HTTP是一个无状态协议,不需要关联客户端请求就能响应,不安全,所以需要第三方解决方案中间件(OTS)和Web服务器解决方案。ASP和PHP开发人员会提供会话处理例程,被称为“会话ID”或Cookie的识别标志。还可称为“会话令牌、隐藏字段”
前提:供应商的要求期望的范畴来考虑应用程序的安全程度。
基本思想:web应用程序与用户交互取决于站点的性质、应用程序的安全性和可用性。
9.1 (OTG-SESS-001)会话管理架构绕过测试
定义:为了避免对网站或服务的每个页面都进行认证,Web应用程序实现了各种机制在预设时间范围内储存与验证身份凭证。
l:类型、时间,通过注入,find Physical path,download。(测试)
l:尝试去溢出、夺取Cookie。
<Cookie逆向工程>
Cookie必须结合的特性:
1、不可预测性
2、防篡改
3、有效期
4、有效期
5、“Secure”标志
<暴力破解攻击>
1、穷举攻击需要多少时间?
灰盒测试
9.2 (OTG-SESS-002)Cookie属性测试
对于恶意用户而言,cookie通常是一个关键的攻击媒介,而应用程序应该尽力保护cookie。cookie属性是否设置正确。
黑盒测试:secure/httpOnly/domain/path/expires
secure:每当cookie包含敏感信息或为一个会话令牌时,它应该总是通过加密隧道传输。测试是否使用secure属性标志。
HttpOnly:该属性可防止客户端脚本访问cookie,但不能消除跨站脚本带来的风险,测试是否设置该属性。
Domain:审查该属性设置是否严谨,如太松散可能存在漏洞。
path:与Domain一样,设置同样要严格,如“;path=/myapp/”,结尾一定要加“/”。
Expires:该属性设置成一个将来的时间,验证cookie没有包含任何敏感的信息。
工具:
捕获代理:OWASP ZAP Project
浏览器插件:http://www.bayden.com/TamperIE/、https://addons.mozilla.org/en-US/firefox/addon/966
文献:
白皮书:RFC 2965 - HTTP Sstate Management Mechanism - http://tools.ietf.org/html/rfc2965
9.3 (OTG-SESS-003)会话固话测试
当应用程序在用户成功认证之后未更新会话cookie,攻击者有可能找一个会话固定漏洞,迫使用户使用攻击者已知的cookie。这种情况下,攻击者可以盗取用户会话劫持。
该漏洞发生在:
1、web应用程序在认证用户之前并没有让已有的会话ID失效,继续使用已经与用户关联的会话ID。
2、攻击者可以强制把已知的会话ID分配给用户,使得一旦用户通过认证,攻击者便可以访问已认证的会话。
在利用中,攻击者创建web应用程序创建新的会话,并记录相关会话标识符。
9.4 (OTG-SESS-004)会话变量泄露测试
会话令牌,如果泄露的话,攻击者就可以冒充victim,非法访问应用程序。所以重点保护尤其是客户端浏览器与应用服务器之间的传输过程。
使用个人代理
1、所使用协议
2、http报头
3、消息正文
<测试会话令牌的加密&重用漏洞测试>
<代理&缓存漏洞测试>
<GET和POST漏洞测试>
<传输漏洞测试>
9.5 (OTG-SESS-005)跨站伪造请求(CSRF)测试
CSRF是一种强迫终端用户在已通过身份验证的Web应用上执行多余操作攻击。结合社工,攻击者可能迫使Web应用的用户来执行攻击者的指定操作。
CSRF依赖以下条件
1、处理会话相关信息的Web浏览器行为,如cookie和http认证信息;
2、攻击者对web应用程序有效URL的了解程度
3、只依赖浏览器已知信息的会话管理;
4、存在触发浏览器访问http[s]资源的HTML标签,如图像标签img。
123是必要条件,4是辅助作用。
黑盒测试、灰盒测试
网友评论