记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

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

2016-04-09 04:45

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

3. 漏洞代码分析

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

public function login($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 function login($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')){ //登录用户
知识来源: 0day5.com/archives/3822

阅读:184036 | 评论:0 | 标签:PHP Sql weiphp 注入

想收藏或者和大家分享这篇好文章→复制链接地址

“weiphp /Application/Admin/Controller/PublicController.class.php Login SQL Injection Vul – .Little Hann”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

九层之台,起于累土;黑客之术,始于阅读

推广

工具

标签云