前端加解密对抗encrypt-labs

前言

项目地址:https://github.com/SwagXz/encrypt-labs

作者:SwagXz

现在日子越来越不好过了,无论攻防、企业src还是渗透项目,总能看到大量的存在加密的网站,XZ师傅的前端加密靶场还是很值得做一做的,环境很贴合实战会遇到的一些情况,本人web小菜鸡练完之后反正是收获颇丰,推荐给各位师傅。

之前自己在学习前端加解密经常遇到加密解不了的情况;之后慢慢看师傅们的文章,也学到了很多绕过技术,于是写了个简单的靶场,为之后的师傅们铺路学习,加密方式列出了我经常见的8种方式包含非对称加密、对称加密、加签以及禁止重放的测试场景,比如AES、DES、RSA,用于渗透测试加解密练习。希望可以帮助到最近在学习这块知识的师傅,靶场函数.很简单,和实战相比还是差的有点多,不过应该够入门了

默认密码:admin/123456

http://82.156.57.228:43899 (混淆)

http://82.156.57.228:43899/easy.php (无混淆)

加解密插件/工具

burp自动加解密插件autoDeceder:https://github.com/f0ng/autoDecoder

这个插件可以帮忙处理常见的AES、DES、SM4、SM2、RSA等加密,灰常好用

还有个浏览器插件:Ctool 程序开发常用工具:https://ctool.dev/

直接在谷歌商店或者火狐商店即可下载

也是可以对常见的加密方式进行加密解密,这个适用的加解密方式更多,如果只是用于验证加解密情况的话,这个插件会方便很多

encrypt-labs

使用无混淆的进行测试说明

http://82.156.57.228:43899/easy.php (无混淆)

admin/123456

【第一关】AES固定key

抓包发现数据包被加密了:加密参数为encryptedData

直接跟进js查看,直接在进入位置下断点,再次抓包

一个断点直接找到加密后的数据和加密前的数据,向上查找,发现是用AES加密

function sendDataAes(url) {
    const formData = {
        username: document.getElementById("username")
            .value,
        password: document.getElementById("password")
            .value
    };
    const jsonData = JSON.stringify(formData);

    const key = CryptoJS.enc.Utf8.parse("1234567890123456");
    const iv = CryptoJS.enc.Utf8.parse("1234567890123456");

    const encrypted = CryptoJS.AES.encrypt(jsonData, key, {
            iv: iv,
            mode: CryptoJS.mode.CBC,
            padding: CryptoJS.pad.Pkcs7
        })
        .toString();
    const params = `encryptedData=${encodeURIComponent(encrypted)}

根据断点信息可知:

AES加密,CBC模式,PKCS5Padding

key:1234567890123456 / iv:1234567890123456

autoDecoder

配置数据包自动加解密

输入key / iv,设置正则表达式,正确设置正则表达式之后才可以实现自动解密

配置需要加解密的域名

尝试重放

### 加密技术及其应用 加密是一种通过特定算法将原始数据转换为不可读形式的技术,从而保护敏感信息不被未经授权的访问者获取[^1]。在Android项目中实现加密字符串的功能可以有效提升应用程序的安全性。 对于存储在S3桶中的高度敏感数据(如个人和财务信息),如果需要确保这些数据以安全的方式存储并监控不当存储的数据,则可以选择使用Amazon Macie服务[^2]。Amazon Macie 是一种完全托管的服务,它利用机器学习来自动发现、分类和保护存储在 Amazon S3 中的敏感数据。它可以识别潜在的风险,并发送警报以便及时处理未按规定方式存储的数据。 以下是关于加密技术和实验室的一些具体方向: #### 1. 对称加密与非对称加密 - **对称加密**:使用相同的密钥进行加密和解密操作,常见的算法有AES (Advanced Encryption Standard)。 - **非对称加密**:采用一对公私钥来进行加解密过程,RSA是最典型的例子之一。 #### 2. 哈希函数 哈希函数能够把任意长度的消息映射成固定大小的一串字符值(即摘要)。MD5 和 SHA系列都是广泛使用的散列算法。 ```python import hashlib def generate_hash(message, algorithm='sha256'): hasher = hashlib.new(algorithm) hasher.update(message.encode('utf-8')) return hasher.hexdigest() print(generate_hash("example message")) ``` 此代码片段展示了如何基于Python生成消息的SHA-256哈希值。 #### 3. 数字签名 数字签名为验证文件的真实性和完整性提供了保障机制。通常结合非对称加密方法完成签署动作以及后续的身份确认工作流程。 --- ### 实验室实践建议 为了深入理解上述概念,在实际环境中设置实验环境至关重要。例如尝试构建一个简单的端到端通信系统模型,其中涉及以下环节: - 数据传输前后的加密/解密; - 验证接收到的信息是否遭到篡改——这可以通过比较前后两次计算所得出的hash值达成目标; 此外还可以探索AWS平台上的各种工具和服务怎样协助企业满足合规需求的同时加强信息安全防护措施,比如刚才提到过的Amazon Macie就是这样一个实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值