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

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

缺陷编号:wooyun-2014-050849

漏洞标题:Easytalk sql注入一枚

相关厂商:nextsns.com

漏洞作者: ′雨。

提交时间:2014-02-13 16:42

修复时间:2014-05-14 16:43

公开时间:2014-05-14 16:43

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

过滤不严。

详细说明:

在voteaction.class.php中

public function sendvote() {
$vid=intval($_POST['vid']);
$votedata=$_POST['votedata'];
$isret=intval($_POST['isret']);
$isnone=intval($_POST['isnone']);
if ($vid) {
if (is_array($votedata)) {
$vmodel=D('Votes');
$vopt=D('Voteoptions');
$vuser=D('Voteusers');
$myvote=$vuser->where("vote_id='$vid' AND user_id='".$this->my['user_id']."'")->find();
$thevote=$vmodel->where("id='$vid'")->find();
if ($thevote) {
if ($myvote) {
$ret=array('ret'=>'error','msg'=>L('vote_voted'));
} else {
if ($thevote['last_time']<=time()) {
$ret=array('ret'=>'error','msg'=>L('vote_already_over'));
} else {
$vmodel->where("id='$vid'")->setInc('votetimes');
foreach($votedata as $val) {
if ($val) {
$options[]=$val;
$vopt->where("id='$val' AND vote_id='$vid'")->setInc('optiontimes');
}
}


$vid 转整了 无法利用

$votedata=$_POST['votedata'];
未过滤。
然后如果他为数组 就进那个if
然后遍历出 然后带入查询。
UPDATE `et_voteoptions` SET `optiontimes`=optiontimes+1 WHERE id='123' AND vote_id='1'
所执行的语句
123那里可控 然后 要注入话 这样
UPDATE `et_voteoptions` SET `optiontimes`=optiontimes+1 WHERE id='123' and id=sleep(5)#AND vote_id='1'
但是发现执行后 变成了
UPDATE `et_voteoptions` SET `optiontimes`=optiontimes+1 WHERE id='123' and id=sleep(10) #' AND vote_id='1'
and 的a不知道怎么变了 。。 那就用or把。

漏洞证明:

1.jpg


2.jpg


3.jpg

修复方案:

过滤。

版权声明:转载请注明来源 ′雨。@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-02-13 19:56

厂商回复:

已修复

最新状态:

暂无