Changeset 3448 for branches/2.2/phpgwapi


Ignore:
Timestamp:
11/03/10 08:21:13 (13 years ago)
Author:
rafaelraymundo
Message:

Ticket #990 - Vulnerabilidades no Anti robo Captcha do Login

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/phpgwapi/templates/default/login_default.php

    r3444 r3448  
    3737                                return '<font color="FF0000">' . lang('Blocked, too many attempts(%1)! Retry in %2 minute(s)',$GLOBALS['phpgw_info']['server']['num_unsuccessful_id'],$GLOBALS['phpgw_info']['server']['block_time']) . '</font>'; 
    3838                        case 200: 
    39                                 return '<font color="FF0000">' . lang('Invalid code') . '</font>'; 
    40                         break;                           
     39                            //return '<font color="FF0000">' . lang('Invalid code') . '</font>'; 
     40                            return '<font color="FF0000">' . lang('Bad login or password') . '</font>'; 
     41                            break; 
    4142                        case 10: 
    4243                                $GLOBALS['phpgw']->session->phpgw_setcookie('sessionid'); 
     
    5354                                 
    5455                        default: 
    55                                 return '&nbsp;'; 
     56                                return ''; 
    5657                } 
    5758        } 
     
    116117            if($GLOBALS['phpgw_info']['server']['captcha']==1) 
    117118              { 
    118                 if(!$_COOKIE['ZABX']) 
    119                     { 
    120                         $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/login.php','cd=5')); 
    121                     } 
    122119                if($_SESSION['contador'] > $GLOBALS['phpgw_info']['server']['num_badlogin']) 
    123120                    { 
    124121                        if ($_SESSION['CAPTCHAString'] != trim(strtoupper($_POST['codigo']))) 
    125122                                { 
    126                                         $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/login.php','cd=200')); 
     123                                        if(!$_GET['cd']) 
     124                                        { 
     125                                            $_GET['cd'] = '200'; 
     126                                        } 
    127127                                } 
    128128                        unset($_SESSION['CAPTCHAString']); 
     
    148148                        !isset($_SERVER['PHP_AUTH_USER']) && !isset($_SERVER['SSL_CLIENT_S_DN'])) 
    149149                { 
    150                         $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/login.php','cd=5')); 
     150                        if(!$_GET['cd']) 
     151                            { 
     152                                $_GET['cd'] = '5'; 
     153                            } 
    151154                } 
    152155                 
     
    165168                        $login .= '@'.$GLOBALS['phpgw_info']['server']['default_domain']; 
    166169                } 
     170                If(!$_GET['cd']) 
    167171                $GLOBALS['sessionid'] = $GLOBALS['phpgw']->session->create(strtolower($login),$passwd,$passwd_type,'u'); 
    168172 
    169173                if(!isset($GLOBALS['sessionid']) || ! $GLOBALS['sessionid']) 
    170174                { 
    171                         $GLOBALS['phpgw']->redirect($GLOBALS['phpgw_info']['server']['webserver_url'] . '/login.php?cd=' . $GLOBALS['phpgw']->session->cd_reason); 
     175 
     176                       If(!$_GET['cd']) $_GET['cd'] = $GLOBALS['phpgw']->session->cd_reason; 
    172177                } 
    173178                else 
     
    204209                } 
    205210        } 
    206         else 
    207         { 
     211        //else   // ================================================================================= 
     212        //{ 
    208213            $valor_contador = $_SESSION['contador']; 
    209214            $valor_contador = $valor_contador + 1; 
     
    254259                        $tmpl->set_var('lang_message',stripslashes(lang('loginscreen_message'))); 
    255260                } 
    256         } 
     261        //} 
    257262 
    258263        if($GLOBALS['phpgw_info']['server']['use_prefix_organization']) 
     
    413418 
    414419        $tmpl->set_var('autocomplete', ($GLOBALS['phpgw_info']['server']['autocomplete_login'] ? 'autocomplete="off"' : '')); 
    415  
    416420// soh mostra o captcha se for login sem certificado.... 
    417421if($GLOBALS['phpgw_info']['server']['captcha'] && $_GET['cd']!='300' ) 
    418422    { 
    419         $aux_captcha = ''; 
    420         setcookie(session_name(),base64_encode(session_convert($key_convert . session_id(),$key_convert)),0); 
     423        $aux_captcha = '<input type="hidden" name="' . session_name() . '"  value="' . session_id() . '" >'; 
     424//        setcookie(session_name(),base64_encode(session_convert($key_convert . session_id(),$key_convert)),0); 
    421425        if($valor_contador > $GLOBALS['phpgw_info']['server']['num_badlogin']) 
    422426            { 
    423427                $aux_captcha = '<div class="login_label" > 
    424                    <img src="./security/captcha.php" title="'.lang('Security code').'" alt="'.lang('Security code').'" style="position:static;"><br/> 
     428                   <img src="./security/captcha.php?' . session_name() . '=' . session_id() . '" title="'.lang('Security code').'" alt="'.lang('Security code').'" style="position:static;"><br/> 
    425429                   <input class="input" type="text" maxlength="50" size="20" name="codigo" id="codigo" value="" > 
     430                   <input type="hidden" name="' . session_name() . '"  value="' . session_id() . '" > 
    426431                   </div>'; 
    427                 $tmpl->set_var('captcha',$aux_captcha); 
    428432            } 
    429433    } 
    430      
     434    $tmpl->set_var('captcha',$aux_captcha); 
    431435// Testa se deve incluir applet para login com certificado...... 
    432436if ($_GET['cd']=='300' && $GLOBALS['phpgw_info']['server']['certificado']==1) 
Note: See TracChangeset for help on using the changeset viewer.