我很好(吉他版)-刘大壮.mp300:0003:48未加入话题添加话题
0x01 蚁剑下载
https://pan.baidu.com/s/1Fl0_hFtCtfUgcNIOwKeGEA 提取码:nvjc
0x02 蚁剑安装
(1):打开AntSword-Loader-v4.0.3-win32-x64.zip
第一次安装项目需要先初始化,如果你已经下载了核心源码,就选择项目源码的文件夹。核心代码在antSword-2.1.9这个目录下,初始化时选择这个文件夹。
二、安装内存马插件
0x01 替换文件
这个替换文件是大佬发给我编译之后的文件,替换的目录是antSwordantSword-2.1.9sourcecorejsptemplate。
0x02 重新启动蚁剑
三、生成蚁剑类型的内存马
0x01 构造内存马
0x02 生成内存马
四、使用蚁剑进行连接
0x01 连接内存马
今天早上看到大佬说要在文件后面加上?ver=2,其实我也不知道具体原因,但是大佬说加就加上吧。
注意:这个URL是一个静态的URL地址即可(本人是这样成功的),连接类型需要是CUSTOM。
0x02 成功连接
五、拓展
0x01 内存马介绍
什么是内存马,内存马即是无文件马,只存在于内存中。我们知道常见的WebShell都是有一个页面文件存在于服务器上,然而内存马则不会存在文件形式。
0x02 内存马生成
首先,我们编写一个恶意的filter,这里需要将我们写好并编译好的MyPayloadFilter.class,通过反序列化漏洞加载到被攻击程序的JVM内存中,这样下一步class.forName()才能拿到这个Filter并动态注入到Tomcat。
0x03 filter工作原理
Web程序的核心配置:web.xml里面包含有Listener、Filter、Servlet等组件,而Filter程序是一个实现了特殊接口的 Java 类。
Filter与Servlet类似,也是由Servlet容器进行调用和执行的,一般用于进行请求过滤,如权限控制、编码/敏感过滤等等。当在 web.xml 注册了一个Filter来对某个Servlet程序进行拦截处理时,它可以决定是否将请求继续传递给Servlet程序,以及对请求和响应消息是否进行预修改。
Filter链在一个Web应用程序中可以注册多个Filter程序,每个Filter程序都可以对一个或一组Servlet程序进行拦截。如果有多个Filter对某个Servlet程序的访问过程进行拦截,那么当针对该Servlet的访问请求到达时,Web 容器将把这多个Filter程序组合成一个Filter链(也叫过滤器链)。
Filter链中的各个Filter的拦截顺序与它们在web.xml文件中的映射顺序一致,上一个Filter.doFilter()方法中调用FilterChain.doFilter()方法将激活下一个Filter.doFilter()方法。最后一个Filter.doFilter()方法中调用的FilterChain.doFilter()方法将激活目标Servlet.service()方法。只要 Filter 链中任意一个 Filter 没有调用FilterChain.doFilter()方法,则目标 Servlet.service()方法都不会被执行。
用户在请求 Tomcat 资源的时候,会调用ApplicationFilterFactory.createFilterChain()方法,根据web.xml的Filter配置,去生成Filter链。
原文始发于微信公众号(想走安全的小白):利用shiro反序列化漏洞写入蚁剑内存shell
评论