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

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

缺陷编号: WooYun-2013-46093

漏洞标题: phpcms v9 SQL注入漏洞(第二弹)

相关厂商: phpcms

漏洞作者: 狗狗侠认证白帽子

提交时间: 2013-12-16 11:01

公开时间: 2014-03-16 11:02

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

漏洞状态: 厂商已经确认

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

Tags标签: 无

13人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

null

详细说明:

第二次玩乌云,等待乌云发BB

漏洞文件发生在phpcms\modules\member\index.php中392行

code 区域
public function account_manage_info() { // account_manage_info方法,就是更新个人资料
if(isset($_POST['dosubmit'])) {
//更新用户昵称
$nickname = isset($_POST['nickname']) && trim($_POST['nickname']) ? trim($_POST['nickname']) : ''; //存在真名名字就去掉2边空格
if($nickname) {
$this->db->update(array('nickname'=>$nickname), array('userid'=>$this->memberinfo['userid'])); //存在$nickname这个变量就更新真实名字,漏洞发生在此处
if(!isset($cookietime)) {
$get_cookietime = param::get_cookie('cookietime');
} // 取出cookietime
$_cookietime = $cookietime ? intval($cookietime) : ($get_cookietime ? $get_cookietime : 0);
$cookietime = $_cookietime ? TIME + $_cookietime : 0;
param::set_cookie('_nickname', $nickname, $cookietime);//这里设置cookie
}
………………….//省略若干无关代码



我们注册用户,然后修改个人信息

**.**.**.**/index.php?m=member&c=index&a=account_manage_info&t=1

我们更新测试下,将带有’ (单引号的名字)带入数据库试试

7600D0HT[R4WKIJZ22S44JR.jpg



然后我们看看数据库中对应表的更新

A@V8PZLA)Y]E@K{H63C9YN4.jpg



然后发现已经成功进入了数据库

接下来我们要做的就是重新登录(必须重新注销登录,因为要用到这里重新登录的cookie)

当我们重新登录的时候

在phpcms\modules\member\index.php中543行

public function login() {

$this->_session_start();

//…..省略若干代码

param::set_cookie('auth', $phpcms_auth, $cookietime);

param::set_cookie('_userid', $userid, $cookietime);

param::set_cookie('_username', $username, $cookietime);

param::set_cookie('_groupid', $groupid, $cookietime);

param::set_cookie('_nickname', $nickname, $cookietime);



//…..省略若干代码

这里我们发现已经重新设置nickname的cookie了,而这里的$nickname也是从数据库里面取出来的。

我们看phpcms\modules\comment\index.php中的post方法

145MTVQOR06Q9{([X@7Y{N3.jpg



这里的$username变量是通过cookie过来的

然后这个$username变量又做了些什么呢?

在phpcms\modules\comment\index.php 100行处

~IW[0]TC6_0E~51WD~VY2FE.jpg



发现这个它赋给了一个$data数组,然后进入了数据库,一个insert语句

$comment->add()这样一个过程

上面是一个提交评论的操作,我们的攻击思路是这样的

当我们提交评论的时候,截取我们的数据包,将其中的username这个cookie值用我们nickname这个cookie值来代替,这样就起到了注入的效果了,我们测试下



具体攻击过程就不演示了。。。

贴一下官网测试的结果

SG[()((Y7]4XF16N(K%PVL6.jpg





















漏洞证明:

SG[()((Y7]4XF16N(K%PVL6.jpg

修复方案:

这个....在入数据库前做过滤吧,记得若干年前80vul的那句。。。一切变量都是有害的

版权声明:转载请注明来源 狗狗侠@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2013-12-17 13:34

厂商回复:

感谢提交

最新状态:

暂无


漏洞评价:

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

漏洞评价(少于3人评价):
登陆后才能进行评分
100%
0%
0%
0%
0%

评价

  1. 2013-12-16 11:03 | 鬼魅羊羔 ( 普通白帽子 | Rank:299 漏洞数:42 | (#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵...)
    0

    我了个去啊。。去啊。。去啊。。。

  2. 2013-12-16 11:05 | 猪猪侠 认证白帽子 ( 核心白帽子 | Rank:4656 漏洞数:356 | 你都有那么多超级棒棒糖了,还要自由干吗?)
    0

    围观狗狗侠

  3. 2013-12-16 11:05 | HackBraid 认证白帽子 ( 普通白帽子 | Rank:1854 漏洞数:296 | 风暴网络安全空间: http://www.heysec.or...)
    0

    名字亮了

  4. 2013-12-16 11:06 | wefgod ( 核心白帽子 | Rank:1825 漏洞数:183 | 力不从心)
    0

    我了个去啊。。去啊。。去啊。。。

  5. 2013-12-16 11:06 | 寂寞的瘦子 ( 普通白帽子 | Rank:242 漏洞数:53 | ☯☯☯☯☯☯☯☯☯☯)
    0

    我了个去啊。。去啊。。去啊。。。

  6. 2013-12-16 11:08 | 狗狗侠 认证白帽子 ( 普通白帽子 | Rank:518 漏洞数:58 | 我是狗狗侠)
    0

    @猪猪侠 围观猪猪侠,我们是同一个马甲

  7. 2013-12-16 11:12 | m1x7e1 ( 普通白帽子 | Rank:651 漏洞数:139 | 求工作)
    3

    @狗狗侠 @猪猪侠 敢不敢 整一个十二生肖!! 鼠鼠侠,牛牛侠,虎虎侠,兔兔侠,龙龙侠,蛇蛇侠,马马侠,羊羊侠,猴猴侠,鸡鸡侠,狗狗侠,猪猪侠。。

  8. 2013-12-16 11:52 | 秋风 ( 普通白帽子 | Rank:438 漏洞数:44 | 码农一枚,关注互联网安全)
    0

    连载啊,尼玛!!!

  9. 2013-12-16 13:11 | ppt ( 路人 | Rank:11 漏洞数:2 | ) | ( 我猜出了用户名,可我没猜出密码。)
    0

    狗狗侠回来了,围观

  10. 2013-12-16 14:44 | 浩天 认证白帽子 ( 普通白帽子 | Rank:925 漏洞数:80 | 哈!躁起来!)
    0

    这一季叫 狗狗侠归来

  11. 2013-12-16 15:30 | 小土豆 ( 普通白帽子 | Rank:129 漏洞数:23 )
    0

    好屌!!!!

  12. 2013-12-16 22:15 | 忆苦思甜 ( 实习白帽子 | Rank:65 漏洞数:25 )
    0

    太流逼了 最近V9真惨

  13. 2013-12-16 23:21 | 鸡总 ( 路人 | Rank:12 漏洞数:8 )
    0

    老员工下岗了造成的?

  14. 2013-12-17 09:21 | 围剿 ( 路人 | Rank:17 漏洞数:5 | Evil decimal)
    0

    马克

  15. 2013-12-17 10:12 | Br4iden ( 路人 | Rank:26 漏洞数:5 | 塞翁失马,焉知非福)
    0

    @鸡总 一个很熟悉的名字。。。

  16. 2013-12-17 14:07 | Ebon_Wolf ( 实习白帽子 | Rank:48 漏洞数:24 | 您好,我似咣咚朲,需要服务吗?专业酱油工...)
    0

    360已经提交N多

  17. 2013-12-21 14:15 | ayys ( 路人 | Rank:2 漏洞数:2 | 欢迎交流,熟悉正方教务系统漏洞。专业挖洞...)
    0

    快用GreenCMS

  18. 2014-01-06 14:47 | wefgod ( 核心白帽子 | Rank:1825 漏洞数:183 | 力不从心)
    0

    给力

  19. 2014-01-07 07:39 | etcat ( 普通白帽子 | Rank:149 漏洞数:22 | 0101010101001010101010101010100101010101...)
    0

    第二次玩乌云 你这么屌 你家里人知道么

  20. 2014-01-07 09:11 | feng 认证白帽子 ( 普通白帽子 | Rank:760 漏洞数:90 | 想刷个6D)
    0

    狗哥第二次玩乌云 还是个小菜啊 ,你女朋友知道么

  21. 2014-01-07 15:41 | saline ( 普通白帽子 | Rank:294 漏洞数:37 | Focus On Web Secur1ty)
    1

    看文笔应该是 @西毒 无疑

  22. 2014-01-23 13:31 | litao13 ( 路人 | Rank:10 漏洞数:1 | 从事互联网行业15年余载,专注于web端与网...)
    0

    2014-01-06: 细节向普通白帽子公开 我为啥看不到

  23. 2014-01-23 14:22 | w5r2 ( 普通白帽子 | Rank:226 漏洞数:52 )
    0

    测试 这个'进不去,不知道lZ是什么版本.

  24. 2014-02-16 17:33 | L.X ( 路人 | Rank:10 漏洞数:1 | 分享和谐)
    0

    nickname字段长度只有20怎么把注入语句带入咧,似乎没什么利用价值啊~~~

  25. 2014-02-17 22:10 | 笨小猪 ( 路人 | Rank:16 漏洞数:2 | 杯壁下流)
    0

    @litao13 你只是一头路人。

  26. 2014-03-31 16:56 | 小痞子 ( 普通白帽子 | Rank:106 漏洞数:21 | <xss>alert("a")</xss>¥&@&……dssKhwjcw...)
    0

    厉害~

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