Hdwiki注射一枚可无视GPC进行注入

漏洞详情

披露状态:

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

简要描述:

现在感觉hdwiki 还是挺不错的了。
全局过滤GET POST

详细说明:

今天下载的



对GET POST都做了检测 还没突破掉。。。



在control/user.php



function dologin(){

$_ENV['user']->passport_server('login','1');

if(!isset($this->post['submit'])){

$this->view->assign('checkcode',isset($this->setting['checkcode'])?$this->setting['checkcode']:0);

$_ENV['user']->add_referer();//here

$_ENV['user']->passport_server('login','2');
$_ENV['user']->passport_client('login');





function add_referer(){
if($_SERVER['HTTP_REFERER']){
$this->db->query("UPDATE ".DB_TABLEPRE."session SET referer ='".$_SERVER['HTTP_REFERER']."' WHERE sid='".base::hgetcookie('sid')."'");
}
}





全局过滤了GET POST 但是没有过滤SERVER



然后直接带入查询



而且MAGIC_QUOTES_gpc只会对GET POST COOKIE 传递过来的特殊字符转义。



所以无视magic_quotes_gpc。



只要没设置submit就能进去了。



漏洞证明:

1.jpg





2.jpg





3.jpg





如果管理账户的第一位是a就会延时



然后修改sustr 即可继续注入。



4.jpg





也可以直接update 用户名 可以直接出数据。

修复方案:

过滤。



低调求20.

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:2

确认时间:2014-02-25 18:28

厂商回复:

已经安排检查修复,非常感谢。

最新状态:

暂无


漏洞评价: