一、在GITHUB上下载了一套源代码,对其进行代码审计,在用户登录处:

BURP使用技巧——对经MD5哈希的密码进行暴破_BURP

二、于是对其进行暴力猜解,通过BURP截包,如下:

BURP使用技巧——对经MD5哈希的密码进行暴破_登录密码_02

通过观察发现Password字段并不是明文,并且同时把loginTime通过POST方法携带到了服务器。

三、在前端查看源码,可以看到将密码与时间戳拼接后,进行了MD5加密。

BURP使用技巧——对经MD5哈希的密码进行暴破_BURP_03

 

四、进入BURP的Intruder模块,选择变量如下:

BURP使用技巧——对经MD5哈希的密码进行暴破_登录密码_04

通过多次测试可以发现后台对时间戳进行了校验,但是偏差在多少分钟,没有进行细致的测试,由于我在准备PAYLOAD需要一些时间,因此我将loginTime也作为了变更,一会在准备工作做完后,再重新获取一个新的时间戳替换即可。

五、下面看一下PAYLOAD1的设置:

BURP使用技巧——对经MD5哈希的密码进行暴破_登录密码_05

在Payload Processing处首先添加一个后缀,这个后缀即为新获取的当前的时间戳,然后再选择HASH MD5,这里注意一下顺序即可。

六、在Payload2处只需要设置一个当前的时间戳,注意要与前一个时间戳保持一致。

BURP使用技巧——对经MD5哈希的密码进行暴破_BURP_06

设置好后即可开始猜解,如下是展示的结果:

BURP使用技巧——对经MD5哈希的密码进行暴破_BURP_07

可以看到字典的第一条Payload测试成功,即通过暴力猜解找到密码。