1.Weak Session IDs 弱回话ID
当用户登录后,在服务器就会创建一个会话(session),叫做会话控制,会话中会保存用户的状态和相关信息,用于标识用户。接着访问页面的时候就不用登录,只需要携带sesion去访问。
服务器端维护所有在线用户的Session,为了告诉服务器应该使用哪一个Session,浏览器把当前用户持有的SessionID告知服务器。用户拿到session id就会加密后保存到 cookies 上,之后只要cookies随着http请求发送服务器,服务器就知道你是谁。SessionID一旦在生命周期内被窃取,就等同于账户失窃。
sessionID作为特定用户访问站点所需要的唯一内容。如果能够计算或轻易猜到该sessionID,攻击者将可以轻易获取访问权限,无需登录直接进入特定用户界面,进而进行其他操作。攻击者可以利用某位用户的 cookie,伪造成该用户在网页上执行一系列操作。
Session利用的实质 :
由于SessionID是用户登录之后才持有的唯一认证凭证,因此黑客不需要再攻击登陆过程(比如密码),就可以轻易获取访问权限,无需登录密码直接进入特定用户界面,进而查找其他漏洞如XSS、文件上传等等。
通过窃取用户sessionID,使用该sessionID登录进目标账户,此时攻击者实际上是使用了目标账户的有效session。如果sessionID是保存在Cookie中的,则这种攻击可以称为Cookie劫持。sessionID还可以保存在URL中,作为一个请求的一个参数,但是这种方式的安全性难以经受考验。
2.实验演示
在DVWA页面左侧选择Weak Session IDs。
目标是找出session id是怎样生成的,推断其他用户session id。
2.1.low
DVWA Security设置为low,没有采用任何防御措施。
查看源码