JBOSS漏洞

  JBOSS:是一个基于J2EE的开放源代码应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

  JBOSS 端口号:8080

  默认密码     :admin :admin

  1.弱口令

      (1).对方开启服务

      (2).没有修改默认路径(方便找到后台)

    案例:

       访问对方网站。点击Administration Console,弹出登陆界面,输入用户名“admin”、密码“admin”,点击“Login”登录。(注意:第一次登陆控制台,需要等待程序响应)

       如果能够登录成功,说明管理员没有修改JBoss的默认密码,黑客可以通过这个漏洞上传木马WAR包,对WEB服务器进行入侵。

         接下来进行war包的部署:

          

          接下来上传成功。访问自己的木马的页面就可以随便弄了。

2.JBoss invoke接口未授权访问

   invoke接口 的功能:外部通过这个函数用于访问 对象提供的属性和成员方法。

  案例:

    个人感觉不需要探测对方系统版本等一些信息。如有需要:Nmap 等一些可以探测。

    直接访问目标网站:

      

      发现目标为默认网站,点击上图箭头位置进入:

        

           继续点击上图箭头进入可以上传war包的部署。

        接下来需要搭建一个远程服务器,apache,JBOSS等等一些可以访问的web页面。

        为啥要这样?

        因为JBOSS的上传war部署时,只可以使用url进行部署。

        部署成功时,在目标主机上上传 远程服务器上的war包即可,出现下面页面表名上传成功。

        

        只需要访问自己上传的大马或者菜刀连接的小马即可。

            

            

            路径在哪????

            一般在根目录下,然后看自己的war包下的路径。然后访问即可。

3.JBoss HEAD绕过漏洞

        产生原因:在做防护的时候,只过滤了POST与GET两种方法。此时可以使用HEAD报文头部进行绕过。

         案例:

            (1)当你访问一个目标主机时,尝试了弱口令及爆破等方法,还是没有办法进去对方后台。此时,需要尝试一下HEAD绕过,看看对方是否防护完全,全部过滤。 

             因为登录不上对方管理后台,所有要找到一个可能登录并且可以上传war包的一个JBOSS网站,或者自己创建一个即可。

             然后在自己可以上传war那个的网站进行上传(不懂往上看),在上传war包的同时,使用burp进行数据包的抓取。把HOST换成目标IP即可

             上传过程war时,抓取数据包。为了方便可以把它发送到 Repeater 。截图应该是一个POST方法 (忘了截图,各位可以验证),然后使用下图方法先转化成GET方法

                      

             使用上图方式,把POST的方法转换成GET方法。

                  

          (2)为啥POST转成成GET 。内容转上去了呢????

            科普: POST 与 GET   是最常用的HTTP方法。

            什么是 HTTP?

            超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。

            HTTP 的工作方式是客户机与服务器之间的请求-应答协议。

            web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。

            举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。

            两种 HTTP 请求方法:GET 和 POST

            在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。

        • GET - 从指定的资源请求数据。 (就是url上传输的)
        • POST - 向指定的资源提交要被处理的数据。(大多数就是有文本框输出的参数个人理解())

           所有post转化成get时就是把上传的war包转化成url上的参数传递了(个人理解)

          (3).可以尝试发送到目标网站,接下来一定是失败的,以为对方已经把GET与POST做了过滤

          (4).因为没有过滤HEAD。

                  HEAD:获得报文首部。(也是HTTP一种方法)

            这里接着上一步把GET转换成HEAD 方法进行传输。 (别忘把HOST换成目标IP)           

                 

          可以看到出现500错误。就是内部错误产生、程序出错,配置出错。但是只要不是400就应该可以说明这个文件存在也就是上传成功了。

          然后使用菜刀连接即可。

          路径是啥???  请往上文看。    

          本文接触太多HTTP协议,推荐《HTTP图解》一书,个人感觉不错,带图了解HTTP。

          补:测试的时候可能会发现自己的网站都找不到路径去显示,怎么去上传呢?往下看,反序列化漏洞教你找路径

 4.JBOSS反序列化漏洞

          Java反序列化漏洞简介

            Java序列化就是把对象转换成字节流,便于保存在内存、文件、数据库中,Java中的ObjectOutputStream类的writeObject()方法可以实现序列化。

            Java反序列化即逆过程,由字节流还原成对象。ObjectInputStream类的readObject()方法用于反序列化。

            因此要利用Java反序列化漏洞,需要在进行反序列化的地方传入攻击者的序列化代码。能符合以上条件的地方即存在漏洞。

               以下实验均用针对Java反序列化测试工具去实验。   (多谢老师的提供)  环境自己搭建。

 

               JBOSS 默认只能本地访问    run.bat  -b  0.0.0.0  开启任意ip访问   (cmd  进入bin目录下执行)

                此实验因为个人原因,端口改成8000   方法如下:

                

 

          (1).访问目标网站,出现下面图片说明对方是JBOSS。

                

 

          (2).接下来使用 专用 反序列化工具去检测.,发现存在反序列化漏洞。

               

          (3).可以执行命令

            

          (4).接下来要上传webshell,最重要的是找到路径

              

          (5).这里就需要开拓自己的思维了,怎么能找到目标机器可以访问的物理路径呢?这里介绍根据图片去找到物理路径。虽然我们后台不能登录上去,但是可以进去后台页。可以看到有图片,然后查看元素找到物理路径。

                 个人方法:点击图片右键复制图像连接,然后打开另一个网页去访问这个图像,也可以看到这个物理路径:

              

            (6).因为上传webshell时,需要绝对路径,而我们进不去对方服务器。所以需要我们自己安装一个JBOSS服务去寻找刚刚根据图片找的那个物理路径。看看那个图片在绝对路径哪里。

                小方法:进去自己的搭建的JBOSS目录中,按住CTRL+E进行搜索(搜索上文中的那个照片名字,默认都是一样的)。

                

 

              然后查看照片属性中的路径,这里附上每一个照片属性,然后自己去访问测试,哪一个可以访问到,哪一个就是可以传webshell 的绝对路径

                

              这里上图第三个可以访问,可以自己写一个文件去测试。

              

              可以看到是可以访问的到,而且我们测试的logo.gif也在。

              接下来使用工具上传webshell,发现也可上传成功。

                

            (7.)然后访问页面,是否能访问。发现500错误:

                  

                    应该是木马的问题,换一个继续上传测试。

            (8).换一个木马上传,发现访问成功。

                  

              (9).然后登陆进去,进去管理页面。

                       

              (10).实验结束,亲测可行。

 

 

修复:

    1.jboss invoke接口修复:修改以下文件

        (1)

          

 

          

          

        (2)

          

 

          

          

          修改之后,再次访问需要使用用户名与密码才可以。

 

 

 

 

 

 

 

 

 

                          关注网络安全丶避免肆意破环

 

                     

 

转载于:https://www.cnblogs.com/pangya/p/8953202.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值