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

еще одна небольшая заметка
  #50  
Старый 02.02.2009, 06:07
Аватар для Twoster
Twoster
Reservists Of Antichat - Level 6
Регистрация: 20.08.2008
Сообщений: 328
Провел на форуме:
7144817

Репутация: 1503
По умолчанию еще одна небольшая заметка

В общем, еще одна небольшая заметка, на мысль о которой натолкнула статья [Raz0r].

Итак, представим у нас есть скрипт
PHP код:
<?php
include($_GET['file'].'.php');
?>
Это просто для примера, тут пройдет и обычный инклуд с нулевым байтом (если конечно magic_quotes off), так и способ от [Raz0r].
А я вот обнаружил еще одну интересную вещь, в Виндовсе максимальное количество символов в имени файла – 240. Так, вот я подумал, а что будет, если будет конструкция вида
PHP код:
http://test1.ru/?file=page.........................................................................................................................................................................................................................................txt 
PHP код:
 include('page.........................................................................................................................................................................................................................................txt.php'); 
т.е. имя файла, который мы предлагаем содержит 240 символов, а ведь есть еще и .php. В общем, естественно имя файла обрезается до положенной длины, и на инклуд отправляется только
PHP код:
page.........................................................................................................................................................................................................................................txt 
без .php
[+] При проверке файла при загрузке на сайт, расширение будет таким, какое нужно админу! =) В нашем случае .txt
[+] Во многих скриптах отсутствует проверка на длину файла

[-] Привязка к ОС – Windows
[-] Загружаемый файл на сайт должен иметь имя файла то же, что мы назначили, а не меняться скриптом.

В общем, я еще буду экспериментировать с Linux’ом, а где это применить, думаю найдете.
__________________

You may say I'm a dreamer
But I'm not the only one

Последний раз редактировалось Twoster; 02.02.2009 в 11:09..
 
Ответить с цитированием