Web攻防之应急响应(二)

2024-09-05 07:04
文章标签 web 响应 攻防 应急

本文主要是介绍Web攻防之应急响应(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前提

🍔学习Java内存马前置知识

内存马

内存马的介绍

内存马的类型众多

内存马的存在形式

Java web的基础知识:

Java内存马的排查思路: 

🍔开始查杀之前的需要准备

1.登录主机启动服务器

2.生成jsp马并连接成功

3.生成tomcat内存马🐴并注入


前提

   本篇是对自己学过的应急响应的知识的一个回顾,主要包含对常见工具(哥斯拉和冰蝎)的网站应急排查并对服务器的JAVA内存马的查杀,在弱鸡师傅的基础上结合我个人的学习和总结并对弱鸡师傅的教学中省略的操作进行一步一步详细的总结和图文介绍.

        因为内容过多,所以就不都直接复制过来了,如果想看完整的总结笔记的师傅直接复制下面的文件连接可以直接进行查看

Java内存马查杀技术,手工&工具检测 icon-default.png?t=N7T8https://flowus.cn/share/a2fa79e2-1b63-47b9-897f-7f1038a33d75?code=BE2FT6

🍔学习Java内存马前置知识

需要对下面的知识进行一定的了解:

内存马

内存马的介绍

        常规的Webshell基于文件类形式存在,而内存马是一种无文件攻击手段,因此也被称为不落地马或者无文件马。因为常规的Webshell有文件落地,所以被发现的机率较大。而内存马存在于内存中,降低被发现的概率,给检测带来巨大难度,通常被作为后门进行使用,持久化地驻留在目标服务器中。
 

内存马的类型众多

   根据不同的脚本类型,存在各种触发机制不同的内存马,没有稳定的静态特征,易于混淆,常规的WAF安全产品难以检测。

内存马的存在形式

        内存马仅存在于进程的内存空间中,系统层面的安全检测工具无法检测出内存马。

Java web的基础知识:

基本记住常见工具的内存马🐴类型一般为Filter和Servlet类型的 

        Listener(基本功能是监听运行过程中出现的错误,进行日志记录)

        Listener也称之为监听器,可以监听Application、Session和Request对象的创建、销毁事件,以及监听对其中添加、修改、删除属性事件,并自动执行自定义的功能。

        Filter(对访问控制,以及在请求响应中需要加一些固定的请求或响应信息等)

        Filter也称之为过滤器,可以动态地修改HttpServletRequest,HttpServletResponse中的头和数据。

Servlet(对业务逻辑进行处理的部分)

        Servlet是运行在 Web 服务器或应用服务器上的程序,它是作为来自 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。它负责处理用户的请求,并根据请求生成相应的返回信息提供给用户。Servlet 可以理解为某一个路径后续的业务处理逻辑。

    Tomcat 的本质其实就是一个 WEB 服务器 + 一个 Servlet 容器,那么它必然需要处理网络的连接与 Servlet 的管理,因此,Tomcat 设计了两个核心组件来实现这两个功能,分别是连接器和容器,连接器用来处理外部网络连接,容器用来处理内部 Servlet,我用一张图来表示它们的关系:

当然针对不同的java中间件(tomcat),用到的东西也不一样,比如 tomcat jboss weblogic等等中间件

Java内存马的排查思路: 

        先判断是通过什么方法注入的内存马🐴,可以先查看web日志是否有可疑的web访问日志,如果是Filter或者Listener类型就会有大量URL请求路径相同参数不同的,或者页面不存在但是返回200的,查看是否有类似哥斯拉、冰蝎相同的url请求,哥斯拉和冰蝎的内存马注入流量特征与普通 Webshell的流量特征基本吻合。 

        通过查找返回200的URL路径对比Web目录下是否真实存在文件,如不存在大概率为内存马。如在Web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,排查中间件的error.log日志查看是否有可疑的报错,根据注入时间和方法根据业务使 用的组件排查是否可能存在Java代码执行漏洞以及是否存在过Webshell,排查框架漏洞,反序列化漏洞。

🍔开始查杀之前的需要准备

1.登录主机启动服务器

账号: root

密码: admin!@#45

找到用户的tomcat服务器下的bin目录,通过下面的命令启动tomcat服务器

cd /usr/local/tomcat8/bin

启动tomcat服务器: ./startup.sh

关闭tomcat服务器: ./shutdown.sh

通过访问8080端口进行访问,出现如下界面说明启动成功

http://ip:8080/

2.生成jsp马并连接成功

  通过哥斯拉生成jsp马🐴,将生成的jsp马🐴将其放到tomcat的 /usr/local/tomcat8/webapps/ROOT 目录下,进行链接成功后通过向web目录下的文件中注入java内存马🐴

cd /usr/local/tomcat8/webapps/ROOT

生成的jsp马子🐴如图所示:

通过哥斯拉进行哥斯拉马子🐴的连接

 可以先进行测试连接,出现成功后,点击添加即可

 进入后,可以看到被控制的服务器的一些配置信息

3.生成tomcat内存马🐴并注入

        通过哥斯拉进行连接  (注意不同中间件的内存马🐴是不同的,tomcat是Memoryshell或者FilterShell)   如图所示,第一行是添加内存马🐴生成的文件路径以及文件名称,然后填入密码以及加密秘钥,不想改默认即可,然后点击run

提示ok说明生成并注入内存马🐴成功

然后和之前连接jsp马子🐴一样,进行添加并连接注入的java内存马🐴

这篇关于Web攻防之应急响应(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1138275

相关文章

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

Spring MVC如何设置响应

《SpringMVC如何设置响应》本文介绍了如何在Spring框架中设置响应,并通过不同的注解返回静态页面、HTML片段和JSON数据,此外,还讲解了如何设置响应的状态码和Header... 目录1. 返回静态页面1.1 Spring 默认扫描路径1.2 @RestController2. 返回 html2

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

Java Web指的是什么

Java Web指的是使用Java技术进行Web开发的一种方式。Java在Web开发领域有着广泛的应用,主要通过Java EE(Enterprise Edition)平台来实现。  主要特点和技术包括: 1. Servlets和JSP:     Servlets 是Java编写的服务器端程序,用于处理客户端请求和生成动态网页内容。     JSP(JavaServer Pages)

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码