【技术原创】Java利用技巧——Jetty Servlet型内存马 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

【技术原创】Java利用技巧——Jetty Servlet型内存马

3gstudent 技术 2023-04-12 12:00:00
69956
收藏

导语:本文介绍了Jetty Servlet型内存马的实现思路和细节,给出了可供测试的代码,分享了Zimbra环境的利用方法。

0x00 前言

在上篇文章介绍了Jetty Filter型内存马的实现思路和细节,本文介绍Jetty Servlet型内存马的实现思路和细节

0x01 简介

本文将要介绍以下内容:

实现思路

实现代码

Zimbra环境下的Servlet型内存马

0x02 实现思路

同样是使用Thread获得webappclassloaer,进而通过反射调用相关方法添加Servlet型内存马

0x03 实现代码

1.添加Servlet

Jetty下可用的完整代码如下:

1.png2.png3.png4.png2.枚举Servlet

(1)通过request对象调用getServletRegistrations枚举Servlet

Jetty下可用的完整代码如下:

6.png

(2)通过Thread获得webappclassloaer,通过反射读取_servlets属性来枚举Servlet

Jetty下可用的完整代码如下:

7.png8.png

注:

该方法在Zimbra环境下会存在多个重复结果

0x04 Zimbra环境下的Servlet型内存马

Zimbra存在多个名为WebAppClassLoader的线程,所以在添加Servlet时需要修改判断条件,避免提前退出,在实例代码的基础上直接修改即可。

9.png当然,我们可以通过反射删除内存马对应的jsp实例,测试代码如下:

10.png

无论是Filter型内存马还是Servlet型内存马,删除内存马对应的jsp实例不影响内存马的正常使用

0x05 利用思路

同Filter型内存马一样,Servlet型内存马的优点是不需要写入文件,但是会在服务重启时失效

0x06 小结

本文介绍了Jetty Servlet型内存马的实现思路和细节,给出了可供测试的代码,分享了Zimbra环境的利用方法。

本文为 3gstudent 原创稿件,授权嘶吼独家发布,如若转载,请注明原文地址
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务