N9 DVWA Weak Session IDs(弱会话IDS)

一、概念

密码与证书等认证手段,一般仅仅用于登录(Login) 的过程。当登陆完成后,用户访问网站的页面,不可能每次浏览器请求页面时都再使用密码认证一次。因此,当认证完成后。就需要替换一个对用户透明的凭证。这个凭证就是SessionID。当用户登陆完成后,在服务器端就会创建一个新的会话(Session)
会话中会保存用户的状态和相关信息。服务器端维护所有在线用户的Session,此时的认证,只需要知道是哪个用户在浏览当前的页面即可。为了告诉服务器应该使用哪一个Session,浏览器需要把当前用户持有的SessionID告知服务器。SessionID一旦在生命周期内被窃取,就等同于账户失窃。同时由于SessionID是用户登录之后才持有的认证凭证,因此不需要进行密码破解。

二、Low级别

1.代码审计
在这里插入图片描述
我们可以看见,这里session的值首先有一个判断函数!isset(),如果没有设置,则设置将第一次的session_id设置为0,而后1,2,3…n的累加。然后将这个值使用setcookie()函数,将这个值发送到浏览器端作为浏览器端的cookie。
这样有规律的session,只要通过推到,就能找出最新的session,然后直接绕过账号密码来进行连接。

2.尝试测试
这里,我们首先使用的QQ浏览器(非火狐浏览器即可)
将burpsuite设置为代理,进入DVWA的 Weak Session IDs板块,点击Generate按钮。
在这里插入图片描述
查看每次拦截到的数据包
在这里插入图片描述
在这里插入图片描述
可以发现,dvwaSession这个参数从0开始,每一次请求,参数+1。
那么我们可以很简单的猜测出,dvwaSession参数下一个是这次的参数+1。
所以我们使用火狐浏览器的hackbar,构造Payload如下:
dvwaSession=5; security=low; PHPSESSID=5hma5mktk29l9m0ibp8p94vp60
在这里插入图片描述
我们发现,火狐浏览器没有登录过DVWA,但通过这个session,我们却绕过了输入账号密码的过程,直接登录进来。
在这里插入图片描述
Low级别的Weak Session IDs就成功完成了!

三、Medium级别

1.代码审计
在这里插入图片描述
这里,我们可以看见,使用time()函数设置cookie_value变量的值,然后将这个值使用setcookie()函数发送到浏览器端,作为浏览器端的cookie使用。

2.尝试测试
我们尝试提交几次,拦截包看一下cookie。
在这里插入图片描述
在这里插入图片描述
这里我们就需要去时间戳的网站进行转换。
https://tool.lu/timestamp/
在这里插入图片描述
这样,我们就可以尝试构造payload
dvwaSession=1598342488; security=medium;
PHPSESSID=5hma5mktk29l9m0ibp8p94vp60
在火狐浏览器使用hackbar进行提交尝试。
我们发现,在这个没有进行过账号密码登录认证的浏览器上,使用cookie直接绕过了身份认证过程,进入了后面的界面。
在这里插入图片描述
medium级别的Weak Session IDs就成功完成了。

四、High级别

1.代码审计
在这里插入图片描述
这里,我们可以看见。首先使用!isset()函数对session变量进行检查,如果没有进行赋值。则设置为0,然后每一次都递增1。
然后将session变量进行MD5加密后赋值为cookie_value变量。
最终,将 cookie_value这个值发送给浏览器作为cookie。
这里进行哈希加密处理,但初始的值始终是从0开始这种形式作为cookie。在抓包的时候虽然md5加密后的值不容易发现其规律,但若是通过一定的思考,将0,1,2…n进行md5加密后再与cookie碰撞,依旧可以发现其中的规律。
2.尝试测试
猜测出cookie的值,然后重复low级别的步骤。
即可成功绕过。
这里的操作除了需要将初始值进行md5加密,其他操作与low级别一样,所有猴子君就不在进行演示。

五、impossible级别

1.代码审计
在这里插入图片描述
这里我们可以看见,首先使用mt_rand()函数选取一个随机数,+时间戳+字符串“impossible”,然后将这段字符串进行sha1加密,发送给浏览器,作为cookie值使用。
这样的话,我们就没法对cookie进行猜测,哪怕是进行源码分析,也很难找出cookie的规律。但mt_rand()随机数虽然是可以随机生成一个数字,但基于计算机的架构限制,所有的随机数都是伪随机数,如果源码泄露+找到随机数的规律,依然是会有被攻破的风险。
但这样的操作,已经成功拦截了99.999%的Weak Session IDs攻击。
安全没有完美,只有攻防之间的博弈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尐猴子君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值