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

  #21  
Старый 27.03.2010, 01:13
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами: 8947056

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

Цитата:
то вы nullbyte подставляете непосредственно в имя файла (то есть в его реальное имя на диске)
если в имени файла (который расположен на жест. диске) вставить в прямом смысле %00 то тогда при передаче файла, имя файла будет иметь %2500 (в хеддерах)

т.е. передаем
file_name.php%2500.jpg
Сервер обрабатывает строку (переводит HEX значения в символы)
После обработки получается что сервер сохр. файл на сервере под именем:
file_name.php%00.jpg

Поэтому берем какой нибуть сендер и вручную правим имя файла (т.е. чтобы было не %2500 (при отправке) а %00 (т.е. чтобы сам нулл байт, принимал сервер а не что либо другое))

получается примерно так:
передаем
file_name.php%00.jpg
Сервер обрабатывает строку...
После обработки получается что сервер сохр. файл на сервере под именем:
file_name.php

Т.е. сработал наш нулл байт (при условии что сервер будет принимать content-type: application/x-www-form-urlencoded)
 
Ответить с цитированием