Weak Session IDs

一.Low篇

1.登录DVWA;

(账号:admin 密码:password)

2.DVWA Security ---->Low模式;

3.打开Weak Session IDs开始测试;

打开BurpSuite进行抓包;

4.查看Cookie值;

Cookie: dvwaSession=1; PHPSESSID=k02mp4qonsn8410uuth48al1p1; security=low

可以发现 dvwaSession=1,由此猜测下一次会话时 dvwaSession=2

将该包的Cookie复制保存下来,并清除掉浏览器的历史记录;

重新进入DVWA可以发现需要重新登录

进入之前复制的URL并进行BurpSuite;

更改dvwaSession=2

Cookie: dvwaSession=2; PHPSESSID=3hvd3p1ojan42mu9icld4ubk76; security=low

Forward成功绕过

二. Medium篇;

1.进入Medium模式;

2.打开Weak Session IDs开始测试;

打开BurpSuite进行抓包

点击Generate,抓包,Forward,再抓包,再Forward,得到Cookie值;

Cookie: dvwaSession=1717407750; PHPSESSID=f4i2qd04l88i4otum3vjvnku30; security=medium

可以发现,在Medium防护等级下dvwaSession值为时间戳,可以使用在线工具进行时间戳和时间的转换,也可以编写Python脚本进行实现;

这里就借鉴大佬的代码;

import time 
#时间转时间戳 
a = "2022-01-14 11:45:44" 
timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S" ) 
timeStamp = int (time.mktime(timeArray)) 
print(timeStamp) 
#时间戳转时间 
timeStamp =1642131944 
timeArray = time.localtime(timeStamp) 
otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray) 
print(otherStyleTime) 

更改timeStamp值(之前抓包的dvwaSession值)

使用python脚本运行(可以在终端中运行)

python /../change.py

得到时间并在代码中更改时间戳,此构造小于当前时间的时间戳进行绕过

再次使用python脚本运行(可以在终端中运行),得到新的时间戳,并进行修改;

清除掉浏览器的历史记录;

打开Burpsuite,进入之前复制的URL,并抓包;

Forward成功绕过;

三.High篇;

和之前的操作一样,点击Generate,抓包,Forward,再抓包,再Forward,得到Cookie值;

可以发现,High防护等级下dvwaSession值为整数的MD5加密值,即第一次为MD5(1),第二次为MD5(2),将所猜测的整数值经过MD5加密即可;

可以使用在线工具进行加密,也可以自己编写Python脚本(这里引用大佬的代码)

import hashlib 
#加密内容为1 
str_md5 = hashlib.md5(b'1').hexdigest() 
print('MD5加密后为 :' + str_md5) 

攻击过程与Low防护等级时一致;

  • 13
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值