HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

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

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

  #8351  
Старый 31.07.2009, 11:07
SeNaP
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
Провел на форуме:
3300342

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

Цитата:
Сообщение от cr0w  
SeNaP

Скорее всего там пхп?

Примерчик:
Код:
<?php 
if ( $_GET[pass] == '00' ) echo "В первом случае пароль верный. ";
if ( $_GET[pass] === '00' ) echo "И во втором случае тоже верный!";
?>
Если передать скрипту в параметре 'pass' любое колличество нулей, то пароль в первом if'e всегда будет верный. Во втором - только при двух нулях.

Т.е. в том скрипте некорректно реализована проверка верности пароля. А о разнице между '==' и '===' стоит почитать в док-ии по PHP. (:
Да, один ноль не прокатыват, токое ощущение, что просто его скрипт не замечает, просит ввести пароль.
Код:
PHP не проверяет равенство типов при двойном равно (==), автоматически приводя их к строковому.
Для верного сравнения данных разных типов применяется тройное равно (===).
Неправильное использование двойного равно, например, в авторизации, == может обернуться уязвимостью.

PHP код:
 $aaa = 123456; 
     
    if( '123456' ==  $aaa ){echo '<br>ok!';}else{echo '<br>no.';} 
    if( '123456' === $aaa ){echo '<br>ok!';}else{echo '<br>no.';}  


ok!
no.
(C)Alekt
Что то я вообще запутался

Последний раз редактировалось SeNaP; 31.07.2009 в 11:13..
 
Ответить с цитированием

  #8352  
Старый 31.07.2009, 11:39
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме:
3178262

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

Код:
if ($_GET[pass] == 00)
В этом случае $_GET[pass] при водится к строковому типу и сравнивается с 00, которое тоже приводится к строковому типу
Код:
'00' равно 00
00 равно 00
Код:
if ($_GET[pass] === 00)
В этом случае $_GET[pass] сравнивается с 00 c учётом типов
Код:
'00' не равно 00
00 равно 00
Цитата:
Если передать скрипту в параметре 'pass' любое колличество нулей, то пароль в первом if'e всегда будет верный. Во втором - только при двух нулях.
0 - универсальный => использование символов отличных от нуля даёт нормальный результат

Последний раз редактировалось FireFenix; 31.07.2009 в 11:47..
 
Ответить с цитированием

  #8353  
Старый 31.07.2009, 11:48
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


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

Код:
Что ты даешь, там нету способов внедрения шела.
например так:
Код:
https://forum.antichat.ru/showpost.php?p=565927&postcount=8
и причем здесь обязательно именно админка. Переведи для начала что такое "Remote Code Execution"
 
Ответить с цитированием

  #8354  
Старый 31.07.2009, 12:24
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


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

Код:
http://moikabriz.ru/uslugi.php?uslugi=5
Инклюдит файл
Код:
http://moikabriz.ru/uslugi/uslugi5
Т.е. в скрипте что-то типа
PHP код:
<?php
include('uslugi/uslugi'.$_GET['id']);
?>
Соответственно
Код:
http://moikabriz.ru/uslugi.php?uslugi=/../uslugi5
должен заинклюдить тот же
Код:
http://moikabriz.ru/uslugi/uslugi5
, но нет - пишет нот фаунд.
Код:
http://moikabriz.ru/uslugi.php?uslugi=/../../index.php
должен заинклюдить индекс, но опять нот фаунд.
 
Ответить с цитированием

  #8355  
Старый 31.07.2009, 12:32
cr0w
Познающий
Регистрация: 11.09.2008
Сообщений: 99
Провел на форуме:
2753780

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

SeNaP

Вот еще интересный пример:
Код:
<?php 
if ( '000' == '000000' ) echo "Первое условие верно. ";
if ( '00789' == '000000000789' ) echo "Второе условие верно. ";
if ( "00abc" == "0000abc" ) echo "Третье условие верно";
?>
Выведет
Цитата:
Первое условие верно. Второе условие верно.
Т.е. при сравнении оператором '==' строк, состоящих из чисел, предваряемых нулями, нули эти, получается, "отбрасываются". Почему так - я пока не знаю, видимо какая-то фича пхп, постараюсь разобраться в этом.
 
Ответить с цитированием

  #8356  
Старый 31.07.2009, 12:36
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


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

а на
Код:
http://moikabriz.ru/uslugi.php?uslugi=../../../../../../../../../../../../../../etc/passwd
пишет
Код:
Operation not permitted
 
Ответить с цитированием

  #8357  
Старый 31.07.2009, 12:48
попугай
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме:
2459557

Репутация: 606


По умолчанию

мод секурити или типа того... Бесполезно...
 
Ответить с цитированием

  #8358  
Старый 31.07.2009, 13:33
geezer.code
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме:
7452489

Репутация: 1359


По умолчанию

Цитата:
Сообщение от mailbrush  
Код:
http://moikabriz.ru/uslugi.php?uslugi=/../uslugi5
должен заинклюдить тот же
Код:
http://moikabriz.ru/uslugi/uslugi5
, но нет - пишет нот фаунд.
Код:
http://moikabriz.ru/uslugi.php?uslugi=/../../index.php
должен заинклюдить индекс, но опять нот фаунд.
*зачеркнуто*
Для начала определись что есть папка, и что есть файл.
Ты пытаешься подняться выше несуществующего файла
*/зачеркнуто*
соре ошибочка.
Ты пытаешься подняться выше несуществующего пути. вот.

Последний раз редактировалось geezer.code; 31.07.2009 в 13:37..
 
Ответить с цитированием

  #8359  
Старый 31.07.2009, 15:03
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию

Цитата:
Сообщение от cr0w  
Т.е. при сравнении оператором '==' строк, состоящих из чисел, предваряемых нулями, нули эти, получается, "отбрасываются". Почему так - я пока не знаю, видимо какая-то фича пхп, постараюсь разобраться в этом.
Строки, при таком сравнении, приводятся интерпритатором к числам, если в них вначале есть числа. Остальное отбрасывается. Посмотри вот так:
if ( 4 == '4abc' ) echo "условие верно. ";

Тоесть по сути ты сравниваешь
1. 0 с 0
2. 789 и 789
3. Нет чисел, тоесть 2 разных строки

Ну а "0" это не совсем число, при таком сравнении. Это у пыха "особенный символ"
if ( 0 == null ) echo "условие верно. ";
if ( 4 == '0004abc' ) echo "условие верно. ";
 
Ответить с цитированием

  #8360  
Старый 31.07.2009, 15:48
cr0w
Познающий
Регистрация: 11.09.2008
Сообщений: 99
Провел на форуме:
2753780

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

jokester

Интерпретатор переводит строку к числу, когда у нее первый символ - цифра, если второй операнд - числовой (как в твоем примере). Но я в тех примерах сравнивал по две строки, а не числа со строками.
К тому же, если интерпретатор просто переводит эти строки в числа, то с нулем в начале, он по логике вещей скорее должен был бы считать их восьмеричными числами, но это не так: 0789 - не восьмеричное число.

По сути, скорее всего пхп сравнивает:
'' c '' (пустые строки)
'789' и '789' (именно строки, а не числа)
и строки '00abc' и '0000abc' - при наличии букв нули в строках не убираются, даже если вставить цифры:
Код:
<?php 
if ( '0012a' == '000012a' ) echo "Условие верно";
?>
Результатом условия будет false.

add: впрочем, это пока просто мои предоложения - как будет время покопаюсь в сорсах php по этому поводу.

Последний раз редактировалось cr0w; 31.07.2009 в 15:57..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ваши ламерские приколы (Ну когда только комп появился) PEPSICOLA Болталка 188 23.05.2010 10:05
Ваши любимые компьютерные игры PEPSICOLA Болталка 280 19.08.2009 00:01
Ваши телеги... F-IFTY Болталка 13 18.08.2009 18:22
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ