Показать сообщение отдельно

  #151  
Старый 03.09.2009, 19:35
ElteRUS
Постоянный
Регистрация: 11.10.2007
Сообщений: 406
Провел на форуме:
7215020

Репутация: 1423
По умолчанию

Цитата:
Сообщение от Gifts  
Код:
?login=&password=' || '1
Отлично, это работает. Я сам виноват, нужно было учесть || . Усложняем задачу: добавляем фильтрацию | и ограничение на 6 символов (хотя конечно логин и пароль на 6 символов – бредово для реальных условий, ну да ладно)

PHP код:
<?php
        $login 
substr($_GET['login'],0,6);
        
$password substr($_GET['password'],0,6);

        
$login str_replace('#'''$login);
        
$login str_replace("-"''$login);
        
$login str_replace('*'''$login);
        
$login str_replace('|'''$login);

        
$password str_replace('#'''$password);
        
$password str_replace("-"''$password);
        
$password str_replace('*'''$password);
        
$password str_replace('|'''$password);

        
$login preg_replace("/and|or/i","fuck",$login);
        
$password preg_replace("/and|or/i","fuck",$password);

        
$query "select * from `admin` where login = '$login' and password = '$password'";

        
$result mysql_query($query);

        if(
mysql_num_rows($result) > 0)
        {
            
//в админке
        
}
        . . .
?>
Задача та же - обойти авторизацию
 
Ответить с цитированием