DVWA Vulnerability: Cryptography Problems
1010568249017660 漏洞分析 444浏览 · 2025-03-27 12:50

DVWA (Damn Vulnerable Web Application) 的 Cryptography 模块主要演示了与加密算法相关的安全漏洞,特别是在实现加密功能时常见的错误。

Low:

核心加密函数

PHP
复制代码




该函数使用循环遍历明文 cleartext,并与 key 进行 XOR(^) 异或运算。



如果 key 的长度小于 cleartext,则 key 会循环使用。



最终输出的是二进制数据,并在后续可能经过 Base64 编码

PHP
复制代码
加密



1 XOR 加密messagekey 进行 XOR 处理,生成二进制数据。



2 Base64 编码:为了可读性,将二进制数据转换为 Base64 形式。

拦截的密文

我们需要解码这段 Base64 字符串,并使用 xor_this() 与密钥 "wachtwoord" 进行解密。

本关主要考察异或加密(XOR encryption)的安全性问题,并结合 Base64 进行数据处理。我们需要解密一个拦截的消息,并使用它登录系统。

解密一下就行了

解密代码是这一行



屏幕截图 2025-03-04 221045.png


Medium:



decrypt() 方法使用 AES-128-ECB 解密:



openssl_decrypt() 用 AES-128-ECB 模式解密传入的 token

hex2bin($token) 把十六进制的 token 转换成二进制数据

解密后的数据是 JSON 格式

通关主要代码:





屏幕截图 2025-03-04 222359.png
让以管理员的权限登录Sweep

源码中有解密密钥

$key = "ik ben een aardbei";

解密脚本



解密一下sweep的session

屏幕截图 2025-03-05 111414.png


也不用解密已经给你说了格式是什么样的

把user的值改成sweep

把ex时间戳的值改成soo用户有效的值或者直接9999999999

把level的值改成admin就行了

加密脚本



屏幕截图 2025-03-05 112200.png


token:3061837c4f9debaf19d4539bfa0074c1fa6cb95f192bdcf6d22c9c4d4b8faacd837d1e6b16bfae07b776feb7afe57630f950edda1fda24d2f7ffdf17b0d4da31

屏幕截图 2025-03-05 112235.png


High



跟Medium步骤差不多,就是找key麻烦

submit一下,发现一个php文件

屏幕截图 2025-03-05 120307.png


屏幕截图 2025-03-05 121609.png


访问没法看到数据,只能去源代码里找了



require_once ("token_library_high.php");

引入了一个名为 token_library_high.php 的文件

在token_library_high.php找到了(希望各位指导一下有没有什么其它的办法)

先解密一下





屏幕截图 2025-03-05 135148.png
把userid改成1试一试



token:{"token":"uN4N+V73wdXa+qowB7cc3A==","iv": "MTIzNDU2NzgxMjM0NTY3OA=="}

运行一下就行了

屏幕截图 2025-03-05 112235.png


希望各位有什么好的方法能分享一下



Impossible



Impossible就没什么可说的的了





0 条评论
某人
表情
可输入 255
目录