Day09 -实例:拿到加密密文进行解密

前置条件:是能入库拿到密文及带的salt。

一、拿得到源码

实例1:【dz3.2网站】
00x1 拿到密文

pwd:1bc86728263c0d5b497fa1e0be486566

salt:e4402c

00x2 打开网站文件夹 找到文件

【先直接用这个路径去找,php开发架构还没讲到】

/upload/uc_client/model/user.php

00x3 代码审计找到加密逻辑
00x4 根据加密逻辑进行解密

password = md5(md5(password).$salt);
pwd:1bc86728263c0d5b497fa1e0be486566

salt:e4402c

加密逻辑是:先对pwd进行一次md5 --> 而后再添加上salt进行第二次md5加密

复现:

拿走第一次md5的加盐 再进行二次md5加密

00x5 或使用在线php工具进行脚本编写

PHP 在线工具 | 菜鸟工具

<?php

$password='123456';

$salt='e4402c';

a=md5(password);

aa=md5(a.$salt);

if($aa='1bc86728263c0d5b497fa1e0be486566'){

echo 'ok';

}else{

echo 'no';

}

?>

实例2:【dz3.5网站】

与dz3.2同理。

00x1 拿到密文

发现salt的值为空

pwd是:

10rzzzykB/CUmS9/NhXDQXuuD3n502rbfH./MJSzWnGaHNHVqgF5HEG

00x2 打开网站根目录,找到关键文件

路径:/dsicuzx3.5/upload/uc_client/model/user.php

00x3 代码审计找到加密逻辑

不知道password_hash是什么函数,去搜;

PHP password_hash() 函数 | 菜鸟教程

发现就很像我们刚刚拿到的密文

00x4 用php脚本进行解密

<?php

hash = '2y10rzzzykB/CUmS9/NhXDQXuuD3n502rbfH./MJSzWnGaHNHVqgF5HEG';

if (password_verify('123456',$hash)){

echo 'ok';

}else{

echo 'error';

}

?>

二、拿不到源码 尝试前端抓包

【z-blog】我们还是用云服务器去进行一个zblog站点的搭建,搭建教程详见我的这一篇博客:

Day02-阿里云服务器+宝塔集成化配置 -宝塔一键部署失败问题解决-CSDN博客

我们搭建好后,进行后台登录,用户名:admin 密码:123456;右击检查,输入验证码后,

抓到了一个这个数据包,然后我们看到了密文。

e10adc3949ba59abbe56e057f20f883e

思路1:根据要求密文猜是什么算法的加密

我们看这个密文的格式,就特别像32位的md5加密,我们拿去在线工具试试解密

md5在线解密破解,md5解密加密

思路2:判断是否是前端加密,js抓包

刚刚提示输入错误的页面,我们点击返回,右键检查一下登录按钮,看一下javascript(js)的语句,我们找找看关于密码输入的处理。

于此判断,zblog用的是前端加密,加密算法是md5。

至此,关于解密的实例演示就结束啦!最终贴一张总结的解密思路给大家。

相关推荐
We་ct14 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·javascript·算法·leetcode·typescript
王老师青少年编程18 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:合并果子
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·合并果子
数字供应链安全产品选型19 小时前
关键领域清单+SBOM:834号令下软件供应链的“精准治理“逻辑与技术落地路径
人工智能·安全
叼烟扛炮19 小时前
C++第二讲:类和对象(上)
数据结构·c++·算法·类和对象·struct·实例化
天疆说19 小时前
【哈密顿力学】深入解读航天器交会最优控制中的Hamilton函数
人工智能·算法·机器学习
wuweijianlove20 小时前
关于算法设计中的代价函数优化与约束求解的技术7
算法
leoufung20 小时前
LeetCode 149: Max Points on a Line - 解题思路详解
算法·leetcode·职场和发展
样例过了就是过了20 小时前
LeetCode热题100 最长公共子序列
c++·算法·leetcode·动态规划
HXDGCL20 小时前
矩形环形导轨:自动化循环线的核心运动单元解析
运维·算法·自动化
谭欣辰21 小时前
C++ 排列组合完整指南
开发语言·c++·算法