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

经验分享---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)

相关推荐
BenSmith1 小时前
从零上手嵌入式 RTOS:以 Raspberry Pi Pico 2 WH 为例的烧录、定制构建与多系统对比指南
安全
汇智信科2 小时前
训练安全管理系统:赋能军消装备训练,实现全流程智能化管控
安全·训练安全管理·装备训练智能化·军事训练保障·消防训练管理
其实防守也摸鱼5 小时前
CTF密码学综合教学指南--第三章
开发语言·网络·python·安全·网络安全·密码学
其实防守也摸鱼5 小时前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf
DevilSeagull5 小时前
电脑上安装的服务会自动消失? 推荐项目: localhostSCmanager. 更好管理你的服务!
测试工具·安全·react·vite·localhost·hono·trpc
@insist1236 小时前
信息安全-防火墙技术演进全景:从代理NAT 到下一代及专项防火墙
网络·安全·web安全·软考·信息安全工程师·软件水平考试
不会编程的懒洋洋7 小时前
C# P/Invoke 基础
开发语言·c++·笔记·安全·机器学习·c#·p/invoke
时空系8 小时前
第10篇:归属权与借用——Rust的安全保障 Rust中文编程
开发语言·安全·rust
Chockmans9 小时前
春秋云境CVE-2017-3506
安全·web安全·网络安全·系统安全·安全威胁分析·春秋云境·cve-2017-3506
开开心心就好9 小时前
近200个工具的电脑故障修复合集
安全·智能手机·pdf·电脑·consul·memcache·1024程序员节