10 WEB 算法解密

发布于 / web基础知识 / 12条评论 / Tags: none / 334 次浏览

安全测试中:

密文-有源码直接看源码分析算法(后端必须要有源码才能彻底知道)

密文-没有源码1、猜识别 2、看前端JS(加密逻辑是不是在前端)


算法加密-概念&分类&类型

1、单向散列加密 -MD5

单向散列加密算法的优点有(以MD5为例):

方便存储,损耗低:加密/加密对于性能的损耗微乎其微。

单向散列加密的缺点就是存在暴力破解的可能性,最好通过加盐值的方式提高安全性,此外可能存在散列冲突。我们都知道MD5加密也是可以破解的。

常见的单向散列加密算法有:

MD5 SHA MAC CRC

*解密条件:密文即可,采用碰撞解密,几率看明文复杂程度

2、对称加密 -AES

对称加密优点是算法公开、计算量小、加密速度快、加密效率高。

缺点是发送方和接收方必须商定好密钥,然后使双方都能保存好密钥,密钥管理成为双方的负担。

常见的对称加密算法有:

DES AES RC4

*解密条件:密文及密钥偏移量,采用逆向算法解密,条件成立即可解密成功

3、非对称加密 -RSA

非对称加密的优点是与对称加密相比,安全性更好,加解密需要不同的密钥,公钥和私钥都可进行相互的加解密。

缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

常见的非对称加密算法:

RSA RSA2 PKCS

*解密条件:密文和公钥或私钥,采用逆向算法解密,条件成立即可解密成功

4、加密解密-识别特征&解密条件

MD5密文特点:

1、由数字“0-9”和字母“a-f”所组成的字符串

2、固定的位数 16 和 32位

解密需求:密文即可,但复杂明文可能解不出

5、BASE64编码特点:

0、大小写区分,通过数字和字母的组合

1、一般情况下密文尾部都会有两个等号,明文很少的时候则没有

2、明文越长密文越长,一般不会出现"/""+"在密文中

6、AES、DES密文特点:

同BASE64基本类似,但一般会出现"/"和"+"在密文中

解密需求:密文,模式,加密Key,偏移量,条件满足才可解出

7、RSA密文特点:

特征同AES,DES相似,但是长度较长

解密需求:密文,公钥或私钥即可解出


其他密文特点:

1.30余种加密编码类型的密文特征分析(建议收藏)
https://mp.weixin.qq.com/s?__biz=MzAwNDcxMjI2MA==&mid=2247484455&idx=1&sn=e1b4324ddcf7d6123be30d9a5613e17b&chksm=9b26f60cac517f1a920cf3b73b3212a645aeef78882c47957b9f3c2135cb7ce051c73fe77bb2&mpshare=1&scene=23&srcid=1111auAYWmr1N0NAs9Wp2hGz&sharer_sharetime=1605145141579&sharer_shareid=5051b3eddbbe2cb698aedf9452370026#rd

2.CTF中常见密码题解密网站总结(建议收藏)
https://blog.csdn.net/qq_41638851/article/details/100526839

3.CTF密码学常见加密解密总结(建议收藏)
https://blog.csdn.net/qq_40837276/article/details/83080460

1、密码存储(后端处理)
X3.2-md5&salt
DZ对应代码段-/uc_server/model/user.php
    function add_user() {
        $password = md5(md5($password).$salt);
    }
    
<?PHP
$h = 'd7192407bb4bfc83d28f374b6812fbcd';
$hash=md5(md5('123456').'3946d5');
if($h==$hash){
    echo 'ok';
}else{
    echo 'no';
}
?>


<?php
function reverse_md5_hash_with_salt($final_hash, $salt, $dictionary_file) {
    // 打开字典文件
    $file = fopen($dictionary_file, "r");
    if (!$file) {
        die("无法打开字典文件!");
    }

    // 遍历字典文件中的每一行(即每一个密码)
    while (($password = fgets($file)) !== false) {
        // 去除密码两侧的空白字符(包括换行符)
        $password = trim($password);

        // 第一次 MD5 加密密码
        $md5_hash = md5($password);

        // 拼接 md5($password) 和 salt
        $salted_hash = $md5_hash . $salt;

        // 第二次 MD5 加密
        $final_attempt = md5($salted_hash);

        // 检查是否匹配
        if ($final_attempt === $final_hash) {
            fclose($file);
            return $password;  // 找到匹配的密码
        }
    }

    // 如果没有找到匹配的密码
    fclose($file);
    return null;
}

// 给定的目标加密值和盐值
$final_hash = "125648dbf16531ab7e6b2f8ec8003ea7";  // 目标 MD5 值
$salt = "3e3790";  // 盐值

// 字典文件路径
$dictionary_file = "weaksauce.txt";  // 字典文件路径

// 调用函数进行密码破解
$password = reverse_md5_hash_with_salt($final_hash, $salt, $dictionary_file);

// 输出结果
if ($password) {
    echo "破解成功,密码是: $password";
} else {
    echo "密码破解失败";
}
?>



X3.5-hash
DZ对应代码段-/uc_server/model/user.php
    function add_user() {
        $salt = '';
        $password = $this->generate_password($password);
    }

    function generate_password($password) {
        $algo = $this->get_passwordalgo();
        $options = $this->get_passwordoptions();
        $hash = password_hash($password, $algo, $options);
    }

<?PHP
$hash = '$2y$10$KA.7VYVheqod8F3X65tWjO3ZXfozNA2fC4oIZoDSu/TbfgKmiw7xO';
if (password_verify('123456', $hash)) {
    echo 'ok';
} else {
    echo 'error';
}
?>


<?PHP
$hash = '$2y$10$PDACNCRyZzcsknF8zvL4yu7YHIPQTN8F635PxQeXSB8QxxDZSXrd.';


$dictionary_file = "weaksauce.txt";
$file = fopen($dictionary_file, "r");
    if (!$file) {
        die("无法打开字典文件!");
    }

    // 遍历字典文件中的每一行(即每一个密码)
    while (($password = fgets($file)) !== false) {
        // 去除密码两侧的空白字符(包括换行符)
        $password = trim($password);
        echo $password."<br>";
        
        if (password_verify($password, $hash)) {
            echo 'ok';
        } else {
            echo 'error';
        } 
    }
?>

2、数据通讯
-博客登录-zblog(前端处理)
<script src="script/md5.js" type="text/javascript"></script>
$("#btnPost").click(function(){
    var strPassWord=$("#edtPassWord").val();
    $("form").attr("action","cmd.php?act=verify");
    $("#password").val(MD5(strPassWord));
console.log(MD5("123456"));

-博客登录-混合加密(前端处理)
<script src="/Scripts/Vip/Login.js?v=20241202154949"></script>
function Login() {
    logindata.UserName = encodeURI(encrypt.encrypt(numMobile));
    logindata.Mobile = encodeURI(encrypt.encrypt(numMobile));;
    logindata.Password = encodeURI(encrypt.encrypt(numPassword));
}
var encrypt = new JSEncrypt();
encodeURI(encrypt.encrypt('13554365566'));

3、密文
明确以下三种加密算法加解密条件
对称AES/DES加解密,非对称RSA加解密
解密:http://tool.chacuo.net/cryptdes

应用场景:

1、发送数据的时候自动将数据加密发送(自需加密即可)

安全测试思路:我们需要将我们的Payload也要加密发送过去,这样才符合正常的业务逻辑,所以我们就只需要调用应用的JS加密逻辑进行提交发送测试即可!

2、比如要得到数据的明文(必须要拿到解密算法)

由于各种算法的解密条件不一,密钥,偏移量,私钥等不一定能拿到。

对于后续安全测试影响较大的:

1、目标:API接口 前后端分离应用居多

2、漏洞发现:未授权 各类漏洞测试 爆破等

3、其他

    评论区(12条评论)


xzmufhokbm

2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com

xzmufhokbm #1

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099 #2

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

华纳公司开户需要哪些材料?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099 #3

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

华纳东方明珠客服邮箱?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099 #4

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

华纳东方明珠客服电话是多少?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳东方明珠开户专线联系方式?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
如何联系华纳东方明珠客服?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳东方明珠官方客服联系方式?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳东方明珠客服热线?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳东方明珠开户客服电话?(▲182(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳东方明珠24小时客服电话?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳东方明珠客服邮箱?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳东方明珠官方客服在线咨询?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
华纳东方明珠客服微信?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099 #5

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

华纳东方明珠客服电话是多少?(▲18288362750?《?微信STS5099? 】
如何联系华纳东方明珠客服?(▲18288362750?《?微信STS5099? 】
华纳东方明珠官方客服联系方式?(▲18288362750?《?微信STS5099?
华纳东方明珠客服热线?(▲18288362750?《?微信STS5099?
华纳东方明珠24小时客服电话?(▲18288362750?《?微信STS5099? 】
华纳东方明珠官方客服在线咨询?(▲18288362750?《?微信STS5099?

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099 #6

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

华纳万宝路客服电话是多少?(?183-8890-9465—《?薇-STS5099】【?扣6011643??】
华纳万宝路开户专线联系方式?(?183-8890--9465—《?薇-STS5099】【?扣6011643??】
华纳圣淘沙客服开户电话全攻略,让娱乐更顺畅!(?183-8890--9465—《?薇-STS5099】客服开户流程,华纳圣淘沙客服开户流程图(?183-8890--9465—《?薇-STS5099】

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099 #7

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

新盛客服电话是多少?(?183-8890-9465—《?薇-STS5099】【
新盛开户专线联系方式?(?183-8890--9465—《?薇-STS5099】【?扣6011643??】
新盛客服开户电话全攻略,让娱乐更顺畅!(?183-8890--9465—《?薇-STS5099】客服开户流程,华纳新盛客服开户流程图(?183-8890--9465—《?薇-STS5099】

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099 #8

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

果博东方客服开户联系方式【182-8836-2750—】?薇- cxs20250806】
果博东方公司客服电话联系方式【182-8836-2750—】?薇- cxs20250806】
果博东方开户流程【182-8836-2750—】?薇- cxs20250806】
果博东方客服怎么联系【182-8836-2750—】?薇- cxs20250806】

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099 #9

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

东方明珠客服开户联系方式【182-8836-2750—】?μ- cxs20250806
东方明珠客服电话联系方式【182-8836-2750—】?- cxs20250806】
东方明珠开户流程【182-8836-2750—】?薇- cxs20250806】
东方明珠客服怎么联系【182-8836-2750—】?薇- cxs20250806】

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099 #10

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

华纳圣淘沙开户步骤详解(183-8890-9465—?薇-STS5099【6011643】

华纳圣淘沙公司开户流程全解析(183-8890-9465—?薇-STS5099【6011643】
华纳圣淘沙公司账户注册指南(183-8890-9465—?薇-STS5099【6011643】
新手如何开通华纳圣淘沙公司账户(183-8890-9465—?薇-STS5099【6011643】
华纳圣淘沙企业开户标准流程(183-8890-9465—?薇-STS5099【6011643】
华纳圣淘沙公司开户:从零到一(183-8890-9465—?薇-STS5099【6011643】
官方指南:华纳圣淘沙公司开户流程(183-8890-9465—?薇-STS5099【6011643】
华纳圣淘沙公司开户流程说明书(183-8890-9465—?薇-STS5099【6011643】

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099 #11

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

华纳圣淘沙公司快速开户通道(183-8890-9465—?薇-STS5099【6011643】

三分钟搞定华纳圣淘沙公司开户

(183-8890-9465—?薇-STS5099【6011643】
华纳圣淘沙公司极速开户攻略(183-8890-9465—?薇-STS5099【6011643】

华纳圣淘沙开户流程提速秘籍(183-8890-9465—?薇-STS5099【6011643】

如何快速完成华纳圣淘沙公司注册(183-8890-9465—?薇-STS5099【6011643】

鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099 #12