DVWA 之 Weak Session IDs

汇总链接:

https://baynk.blog.csdn.net/article/details/100006641
------------------------------------------------------------------分割线------------------------------------------------------------------
Weak Session IDs
密码与证书等认证手段,一般仅仅用于登录(Login)的过程。当登陆完成后,用户访问网站的页面,不可能每次浏览器请求页面时都再使用密码认证一次。因此,当认证完成后。就需要替换一个对用户透明的凭证。这个凭证就是SessionID。
当用户登陆完成后,在服务器端就会创建一个新的会话(Session),会话中会保存用户的状态和相关信息。服务器端维护所有在线用户的Session,此时的认证,只需要知道是哪个用户在浏览当前的页面即可。为了告诉服务器应该使用哪一个Session,浏览器需要把当前用户持有的SessionID告知服务器。SessionID一旦在生命周期内被窃取,就等同于账户失窃。同时由于SessionID是用户登录之后才持有的认证凭证,因此黑客不需要再攻击登陆过程(比如密码)。
DVWA 之 Weak Session IDs_第1张图片

Low

服务器端核心代码

 

从服务端的代码端可以看出,SessionID只是从0开始累加,所以可以较容易的猜测出别人的SessionID。
而且在Burpsuite中使用Sequencer模块也可以进行流量分析,显示
在这里插入图片描述

Medium

服务器端核心代码

 

从服务器端的代码来看,将SessionID的值改成了当前的时间,看起来比low的随机了点,但是经过连续的收集后就很容易发现其中的规律。
DVWA 之 Weak Session IDs_第2张图片

High

服务器端核心代码

 

这里将cookie的值进行了md5计算,并且还设置了期限之类进一步增加SessionID的安全性,但不足的是进行md5散列的值是0的累加,若有经验的人在多次尝试后,很容易看出来其中的规律。
在这里插入图片描述

Impossible

服务器端核心代码

 

mt_rand() 使用 Mersenne Twister 算法返回随机整数。再上这次使用了SHA1,使猜测破解机率大大减小。

你可能感兴趣的:(#,DVWA)