经验分享—WEB渗透测试中遇到加密内容的数据包该如何测试!

news/2025/2/23 15:57:15

经验分享—WEB渗透测试中遇到加密内容的数据包该如何测试!

01 加解密的意义

现阶段的渗透测试让我发现越来越多的系统不只是在漏洞修补方面做了功夫,还对一些参数进行加密,干扰爬虫或者渗透测试的进行。

在我小白阶段看到下图这种加密方式,第一个反应是base64解一下,如果不行那么这个系统是安全

在这里插入图片描述

但实际上这类是AES加密,大概的样式像这样

AAAAA+AAAAA/AAA=

可以理解为在base64那一类字母和"==“的特征中,再参入了”+“和”/"这类字符的一般就是AES加密了

02 密文大致原理

要解开AES的关键在于获取到他的参数 秘钥(KEY)和偏移量(IV)
但是AES有不同的模式,这里举最常见的两种即CBC,ECB
CBC需要秘钥(KEY)和偏移量(IV)才能解密
ECB仅需要秘钥(KEY)就能解密

在这里插入图片描述

然后就可以通过加解密网站调试了

在线AES加密解密、AES在线加密解密、AES encryption and decryption–查错网 (chacuo.net)

在这里插入图片描述

要看具体AES的解释还请看下面的文章
AES加密算法原理的详细介绍与实现-CSDN博客

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

03 怎么定位iv与key的位置

我一般是直接打开F12控制台去搜下面几个关键词

crypt(这个是AES经常会引用的框架,所以搜这个经常能搜到加解密的方法名称类似encrypt或是decrypt)

在这里插入图片描述

在这里插入图片描述

刚开始还不太会的时候就把所有这种相关的方法都打上断点

在这里插入图片描述

然后就是运行加密的功能就会开始debug模式

在这里插入图片描述

或是到这一步decrypt解密方法的时候 直接去控制台进行调用加密数据 也是一样的
在这里插入图片描述

按照上面decrypt(data) 输入加密的data即可 类似这样decrypt(“AAAA+AAA/AA=”)
在这里插入图片描述

04 AES批量加密

关于批量加密AES进行重放可以用BURP插件BurpCrypto
在这里插入图片描述

或者你想本地加密可以用python
我写了个,懒人可以用一下

import base64  
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes  
from cryptography.hazmat.backends import default\_backend  
from cryptography.hazmat.primitives import padding  

def encrypt_file(input_filename, output_filename, key, iv):
backend = default_backend()
cipher = Cipher(algorithms.AES(key), modes.CBC(iv), backend=backend)

with open(input_filename, ‘r’, encoding=‘utf-8’) as input_file, open(output_filename, ‘w’, encoding=‘utf-8’) as output_file:
for line in input_file:
encryptor = cipher.encryptor() # 每行创建一个新的Encryptor
padder = padding.PKCS7(128).padder()
padded_data = padder.update(line.encode(‘utf-8’)) + padder.finalize()
encrypted_data = encryptor.update(padded_data) + encryptor.finalize()

# 将二进制数据转换为Base64编码的字符串
encoded_data = base64.b64encode(encrypted_data).decode(‘utf-8’)
output_file.write(encoded_data + ‘\n’) # 每行后添加换行符

# 使用预定义的密钥和IV
key = b’5rer641QMOG9FI62PCfkzB4Rx9B3akti’ # 确保这是32字节长
iv = b’12hOaPl0RDfSx4pJ’ # 确保这是16字节长

input_filename = ‘plaintext.txt’
output_filename = ‘ciphertext.txt’

encrypt_file(input_filename, output_filename, key, iv)


    http://www.niftyadmin.cn/n/5863558.html

    相关文章

    容器和虚拟机选择对比

    1. 概述 如果主要需求是学习和测试 Ubuntu 下的命令行工具或服务型应用,推荐使用 Docker Docker 更轻量、更高效,适合快速搭建和销毁环境。 启用 WSL 2,Docker Desktop 是一个非常好的选择。 如果需要完整的桌面环境或进行复杂的系统级开…

    基于SpringBoot实现的宠物领养系统平台功能七

    一、前言介绍: 1.1 项目摘要 宠物领养需求增加:随着人们生活水平的提高和对宠物养护意识的增强,越来越多的人选择领养宠物作为家庭的一员。这导致了宠物领养需求的显著增加。 传统领养方式存在问题:传统的宠物领养方式&#xf…

    element ui 组件el-autocomplete的使用方法(输入建议,利用filter和include)

    我们首先要先将标签写出来&#xff0c;其次写入一些属性&#xff0c;这个直接去官网粘贴即可&#xff01; <el-autocomplete v-model"value" style"width: 300px;":fetch-suggestions"querySearch":trigger-on-focus"false" placeh…

    VSCode ssh远程连接内网服务器(不能上网的内网环境的Linux服务器)的终极解决方案

    VSCode ssh远程连接内网服务器&#xff08;不能上网的内网环境的Linux服务器&#xff09; 离线下载vscode-server并安装: 如果远程端不能联网可以下载包离线安装,下载 vscode-server 的 url 需要和 vscode 客户端版本的 commit-id 对应.通过 vscode 面板的帮助->关于可以获…

    AMBA-CHI协议详解(十九)

    文章目录 4.6 Silent cache state transitions4.7 Cache state transitions at a Requester4.7.1 Read request transactions4.7.2 Dataless request transactions4.7.3 Write request transactions4.7.4 Atomic transactions4.7.5 Other request transactions 4.6 Silent cach…

    linux根目录下的各目录主要作用

    linux中下面这些目录的主要作用 bin boot dev etc home lib lib64 lostfound media mnt opt proc root run sbin srv sys tmp usr var 在 Linux 文件系统中&#xff0c;每个目录都有其特定的用途和功能。以下是这些目录的主要作用&#xff1a; 1. /bin 作用&#xff1a;存放系…

    25林业研究生复试面试问题汇总 林业专业知识问题很全! 林业复试全流程攻略 林业考研复试真题汇总

    25 林业考研复试&#xff0c;专业面试咋准备&#xff1f;学姐来支招&#xff01; 宝子们&#xff0c;一提到林业考研复试面试&#xff0c;是不是就慌得不行&#xff0c;感觉老师会扔出一堆超难的问题&#xff1f;别怕别怕&#xff0c;其实林业考研复试就那么些套路&#xff0c;…

    第六章 数据库设计

    1 数据库设计概述 1.1 引言 在当今这个信息爆炸的时代&#xff0c;数据已经成为了一种极其重要的资源。无论是大型企业还是小型创业公司&#xff0c;有效的数据管理都是成功的关键之一。随着信息技术的发展&#xff0c;我们收集、存储和分析的数据量正在以前所未有的速度增长。…