记一次渗透中的Password加密爆破过程

admin 2023年7月13日23:57:58评论18 views字数 1578阅读5分15秒阅读模式
这是在红队行动中遇到的一个网站。网站前端对登录密码进行了加密,由于加密方式不是常见的MD5,无法直接使用Burp的普通爆破模式进行破解。下面是这个网站的渗透过程,与师傅们分享一下。

找到目标后台

记一次渗透中的Password加密爆破过程

首先用burp进行一下抓包测试,看看有没有什么突破点,登录口令随便输一个123456

记一次渗透中的Password加密爆破过程

记一次渗透中的Password加密爆破过程

发现密码在输入后被加密,返回前端页面,发现密码变成了长串

记一次渗透中的Password加密爆破过程

用F5刷新一下页面看看,可以看到输入密码后加载了一个MD5的js文件

记一次渗透中的Password加密爆破过程

由此我们猜测该密码加密方式为MD5,我们将密码拿去进行MD5解密,发现解密不成功

记一次渗透中的Password加密爆破过程

有点奇怪,去看下登录代码,定位找到登录键代码,可以看到CheckLogin函数,搜索一下

记一次渗透中的Password加密爆破过程

记一次渗透中的Password加密爆破过程

登陆代码的前两段代码就是对用户的输入内容做一个校验,我们不用去看,重要的信息在第三段,我们需要注意的有两点:

第一点是getTime函数的作用,getTime函数作用为检查完password不为空后被调用,生成当前时间戳,然后赋值给randid函数

第二点是这段代码的加密方法,先获取Password的值,然后使用 hex_md5 函数对密码进行两次 MD5 加密。先将password直接进行MD5加密,然后将生成的randid 与加密后的密码拼接在一起,并再次使用 hex_md5 函数对拼接后的字符串进行加密。最后,将加密后的密码赋值给名为 "Password" 的元素的值。

总结来说,这段代码一共对password做了两次MD5加密,第一次是直接将password进行加密,第二次则是将password和时间戳拼接在一起进行加密

那我们该如何解决呢?我们通过看下面这两句代码可以得知randid函数是通过SecretCode来设置的,我们在POST包中也可以看到SecretCode这个时间戳。我们可以将他的时间戳进行固定(时间戳固定为任意一个即可),让我们的密码算法不变

记一次渗透中的Password加密爆破过程

记一次渗透中的Password加密爆破过程

打开公司内部自用的ChatGPT来编写脚本

记一次渗透中的Password加密爆破过程

import hashlib

# 打开文件
with open("pass.txt", "r") as input_file, open("output.txt", "w") as output_file:
# 逐行读取文件内容
for line in input_file:
# 去除行末的换行符
line = line.rstrip('n')
# 计算 MD5 值
md5_value = hashlib.md5(line.encode()).hexdigest()
# 将结果写入输出文件
output_file.write(md5_value + 'n')

with open("output.txt", "r") as input_file, open("output1.txt", "w") as output_file:
# 逐行读取文件内容
for line in input_file:
# 去除行末的换行符
line = line.rstrip('n')
# 添加固定内容
line += "1687874232438"
# 将结果写入输出文件
output_file.write(line + 'n')

# 打开文件
with open("output1.txt", "r") as input_file, open("output2.txt", "w") as output_file:
# 逐行读取文件内容
for line in input_file:
# 去除行末的换行符
line = line.rstrip('n')
# 计算 MD5 值
md5_value = hashlib.md5(line.encode()).hexdigest()
# 将结果写入输出文件
output_file.write(md5_value + 'n')

然后创建pass.txt文档和output.txt,运行脚本,得到加密后的字典

记一次渗透中的Password加密爆破过程

记一次渗透中的Password加密爆破过程

将加密好的字典拿去进行爆破

记一次渗透中的Password加密爆破过程

记一次渗透中的Password加密爆破过程

爆破成功,成功进入后台

记一次渗透中的Password加密爆破过程

记一次渗透中的Password加密爆破过程

-END-

原文始发于微信公众号(弱口令安全实验室):记一次渗透中的Password加密爆破过程

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年7月13日23:57:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次渗透中的Password加密爆破过程http://cn-sec.com/archives/1874404.html

发表评论

匿名网友 填写信息