我喜欢黑夜,喜欢网络安全,孤独寂寞的黑夜里,我只需要,一包烟,一台笔记本...
更多
首  页>>JAVA安全开发>> 漏洞信息Xdcms 订餐网站管理系统Cookie注入
Xdcms 订餐网站管理系统Cookie注入
4644
1推荐
0评论

作者:缘灭

XDcms订餐网站管理系统是由南宁旭东网络科技有限公司开发的,主要使用Php+Mysql+Smarty技术基础进行开发,采用OOP(面向对象)方式进行基础运行框架搭建,集成在线订餐、团购、积分商城、优惠券、新闻、在线订单、在线支付、生成订单短信/邮箱通知、点评、Google电子地图、问答、并与支付宝、Dz论坛、短信平台接口完美整合等功能于一体的完全开源的高级订餐网站管理系统,并结合手机应用客户端,实现随时随地点餐。使用XDcms订餐网站系统,可轻松搭建专业的餐饮门户。

下载地址:http://down.chinaz.com/soft/32702.htm

题外话:

经过这两天的学习,我开始学会了一些常用的PHP函数的作用理论以及实战应用方法技巧。

也学会了找bug的同时也学会了简单的防御。 为以后自己独立开发程序积累经验。

正题:

直接问题URL:http://www.xxx.com/index.php?m=member&f=edit

问题文件名:/system/modules/member/index.php

Xdcms 订餐网站管理系统 代码审计

$userid=$_COOKIE['member_userid']; 采用cookie 调用member_userid附给$userid

然后没有经过任何过滤的直接进入了sql查询语句,并且没有单引号哦。

利用方法:

为了自己新手方便我使用了火狐浏览器的edit cookies插件来修改

1、 先随便注册一个账号。 (注册跟登录的时候老是提示验证码不正确,为止我把判断验证码的地方直接给注释掉了)

Xdcms 订餐网站管理系统 代码审计

有两处哦。

2、 登录进后台然后点击 资料管理

3、 在工具 – edit cookies 打开插件

Xdcms 订餐网站管理系统 代码审计

因为我是本地测试IP是127.0.0.1 所以我直接搜索127.0.0.1 通过下拉菜单找到 member_userid 这个, 再点击edit 进入编辑

4、语句 -6 Union seLect 1,2,username,4,5,6,7,8,9,10,11,user(),password,database(),version() fRom c_admin

Xdcms 订餐网站管理系统 代码审计

来张效果图

Xdcms 订餐网站管理系统 代码审计

接下来后台拿shell部分了

由于太晚了要回家睡觉了,不然老婆不让睡床了。后台拿shell就不详细了。

方法好几个,我只掩饰其中一个,另外的大家去挖掘吧,一起分享学习。

先说利用方法再看代码。

1、 后台登录页面的验证码一样要注释掉,不知道是不是我本地的PHP环境原因。

2、 系统设置 – 基本信息 – 网站地址 中填入:');?> 符号一个不能少不然会出错的。

一句话链接文件/system/xdcms.inc.php 密码1

Xdcms 订餐网站管理系统 代码审计

要注意的事我这样闭合写法是加在url前面,这样改会引起网站出错,所以拿到shell后第一时间进行恢复回来。

先来张成功的图

Xdcms 订餐网站管理系统 代码审计

好了看代码分析吧

/system/modules/xdcms/setting.php

Xdcms 订餐网站管理系统 代码审计

首先把函数用foreach循环读取进来给数组$info

Xdcms 订餐网站管理系统 代码审计

图片有点小看不清楚。贴出代码来

    if($tag=='config'){
    //判断url是否以/结尾$urlnum=strlen($info['siteurl'])-1;
    if(substr($info['siteurl'],$urlnum,1)!="/"){
    showmsg(C("update_url_error"),"-1");
    }
    //end$cms=SYS_PATH.'xdcms.inc.php';
    //生成xdcms配置文件$cmsurl=".$info['siteurl']."');
    define('TP_FOLDER','".$info['template']."');
    define('TP_CACHE',".$info['caching'].");?>"
    ;creat_inc($cms,$cmsurl);

很明显了。没有过滤直接写入文件中来。生成配置文件。

这个利用有个满足条件。magic_quotes_gpc = Off的情况下

后台还有其它几个方法可以忽视掉这个直接拿shell。时间关系我就不写出来了

大家自己可以下载源码来研究学习一下。

OK!打完收工,回家睡觉。

加一句 这个MD5是双重加密

$password=md5(md5($password));

不过放到cmd5网站上面也是直接秒杀

已经有 ( 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