ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #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)
        {
            
//в админке
        
}
        . . .
?>
Задача та же - обойти авторизацию
 
Ответить с цитированием

  #152  
Старый 03.09.2009, 20:28
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

ElteRUS Эээ, в рот мне ноги, я не понимаю почему это работает, но, ведь, работает
Код:
?login=\&password=%2B'
Уточняю, выбирает из таблицы почти все записи +- 400 (из 40к) С другими таблицами и другими серверами мускуля - тоже самое, выбирает записи, но не все
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm

Последний раз редактировалось Gifts; 03.09.2009 в 20:46..
 
Ответить с цитированием

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

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

Цитата:
Сообщение от Gifts  
ElteRUS Эээ, в рот мне ноги, я не понимаю почему это работает, но, ведь, работает
Код:
?login=\&password=%2B'
Хм, да это то, только своеобразно оформлено но сути не меняет, твой вариант даже круче ))
Я рассчитывал на такое:

Логин '='
Пароль '='

Либо так a'='a в логин и пароль. Давайте посмотрим на получившиеся запрос:

PHP код:
select from `adminwhere login 'a'='a' and password 'a'='a' 
Такой запрос прокатит. Выполните у себя на локалхосте

PHP код:
Select from mysql.user where user 'a'='a'
Выведутся все записи таблицы. Ну тот факт, что mysql поддерживает прямое сравнение строк – известен. Но дальше круче )) Выполните такое

PHP код:
Select from mysq.user where user 'aasdfsdf'='usu'
И это прокатит. Хотя очевидно, что эти строки не равны.
Твой пример из той же оперы

Код:
select * from `admin` where login = '\' and password = '%2B''

Только здесь видно что кроме = может быть и +, а так же * - )))
 
Ответить с цитированием

  #154  
Старый 04.09.2009, 12:54
famnam
Познающий
Регистрация: 13.04.2008
Сообщений: 35
Провел на форуме:
177699

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

Объясните пожалуйста по зад.34.
echo (int)((0.1+0.7) *10);

почему выводит 7? и 8 если echo (int)(0.8*10)...
каким образом сумма в скобках влияет на результат? ведь 0,1+0,7=0,8
и при приведении к целому, д.б. просто откинуться дробная часть...
 
Ответить с цитированием

  #155  
Старый 04.09.2009, 13:12
Krist_ALL
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме:
1996429

Репутация: 468


Отправить сообщение для Krist_ALL с помощью ICQ
По умолчанию

Подробное разъяснение случая с 'а'='б'='с' http://bugs.mysql.com/bug.php?id=39337
это не баг,а преобразование типов.

Фамнам, это непредсказуемо в некоторых случаях,зависит от платформы ,на которой исполняется пхп код.
 
Ответить с цитированием

  #156  
Старый 04.09.2009, 13:33
famnam
Познающий
Регистрация: 13.04.2008
Сообщений: 35
Провел на форуме:
177699

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

спасибо, Krist_ALL
 
Ответить с цитированием

  #157  
Старый 04.09.2009, 14:57
Joker-jar
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме:
4172659

Репутация: 646


Отправить сообщение для Joker-jar с помощью ICQ
По умолчанию

Цитата:
хотя конечно логин и пароль на 6 символов – бредово для реальных условий
так еще бредовей с логинов и пассов юзеров подстроки 'and' и 'or' удалять )))
 
Ответить с цитированием

  #158  
Старый 18.09.2009, 14:34
Krist_ALL
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме:
1996429

Репутация: 468


Отправить сообщение для Krist_ALL с помощью ICQ
По умолчанию

Добавил еще 3 задания.
//ОФТОП
Завтра пойду в институт первый раз, волнуюсь) Поддержим Krist_ALLа!
 
Ответить с цитированием

  #159  
Старый 18.09.2009, 15:27
Gray_Wolf
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме:
1284900

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

38.
PHP код:
<?php
function ch($num,$str){
    
$res=str_split($str);
    
$i=0;
    while (
$i count($num)){
    
$cn=$num[$i]-1;
    
$res[$cn]=strtoupper($res[$cn]);
    
$i++;
    }
    return 
implode("",$res);
}
?>
 
Ответить с цитированием

  #160  
Старый 18.09.2009, 15:32
Gray_Wolf
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме:
1284900

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

39.
Всё дело в динамической типизации PHP.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[php] On-Line Фейк mail.ru m0Hze E-Mail 37 13.01.2010 19:52
SQL-Inj Finder by mr.The [Special for antichat] [PHP] mr.The PHP, PERL, MySQL, JavaScript 24 07.08.2009 01:30
Задания ~Fenix~ Болталка 11 13.05.2006 11:03



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ