📩前端加解密
2025-4-1
| 2025-4-8
Words 1338Read Time 4 min
type
status
date
slug
summary
tags
category
icon
password

一、靶场的部署

按照docker的使用方式安装encrypt-labs后,启动环境会发现数据库连接失败
notion image

1.1 docker部署问题的解决

需要修改php容器下的datatbase.php的代码才能解决数据库连接失败的问题,具体操作如下:
  1. 使用docker inspect encrypt_labs_mysql | grep MYSQL_ROOT_PASSWORD去查看数据库的root密码
notion image
  1. 将database.php文件内容修改成如下的内容
再次访问就可以发现数据包的响应稍显正常,只是多了一个针对于aes.php的报错,其实也不影响使用。
notion image
  1. 想要能后续看到success.html的界面,来提供一点学习成就感的话
notion image
可以在aes.php文件的开头添加error_reporting(0);,即可正常使用
notion image
想要每一个加密靶场都能完全的正常使用,就要给每一种加密的php页面都要添加一遍error_reporting(0);
notion image
否则依旧会出现session报错的情况
notion image

1.2 小皮面板部署靶场

添加网站
notion image
更具要求和实际情况填写网站的配置
notion image
继续按需求选取,数据库的信息在靶场的database.php的文件里,可以去复制黏贴。
notion image
导入encryptDB.sql文件的信息
notion image
然后就可以正常访问了
notion image

二、靶场攻略

2.1 AES固定Key

前端调试,选中submit,初步寻找加密函数的位置,目前可以初步确定加密行为存在于easy.js文件中。
notion image
ctrl+F 去搜索“AES、DES、encrypt、key”等关键词,可以找到如下的信息
notion image
如图可以知道这么几个信息:👇
将上述信息录入到burp的插件autoDecoder中,并填写入加密的内容进行解密测试
notion image
点击decrypt后,可以发现解密成功,那么就可以将添加为请求包加/解密方式
notion image
添加为响应包解密方式有所不同,需要将加/解密方式改为null之后在进行添加,最后记得保存设置。
notion image
为了能实现爆破、重放过程中对输入的的数据实现自动加解密,还需要对请求包的内容进行正则匹配。
notion image
同时需要配置加解密选项为自带算法加解密、加密域名和模块控制,并保存相关配置
notion image
点击重放即可实现实时加解密
notion image
查看日志就可以发现,请求包实际是以密文的形式发送出去的
notion image
由于勾选了爆破模块,所以可以对密码进行爆破,爆破结果如下。
notion image
 

2.1.1 python解密脚本

2.1.2 python加密脚本

2.2 关于爆破出现随机加密的情况

burp默认速率下进行100条参数的爆破过程中发现了230的响应。
notion image
点击日志进行查看发现他们都没被加密,所以提示了Invalid input,导致相应包长度意外的长。
notion image
👇这是日志中的正常数据包
notion image
再次爆破未加密的参数就又变了(与之前不同)
notion image
怀疑工具的作者可能并没有考虑到高并发的场景,所以我调低了burp默认的并发数量,这里的并发我改成了 1,可以发现明显改善了很多。
notion image
  • 加解密
  • 快速搭建起一个七日杀服务器(3)华为云 ECS 弹性计算服务攻防
    Loading...