[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Защита от нульбайта:
agentor
собственно вопрос..
правильно ли я установил защиту от инекции нульбайта или надо с preg_match?
PHP
///$d= название файла

$d str_replace('/'''$d);
$d preg_replace('/\0/s'''$d);

if(!
$d || $d == "logout")
include(
"template/startseite.inc.php");
elseif(
is_file("inc/".htmlspecialchars(stripslashes($d)).".inc.php")==1)
include(
"inc/".htmlspecialchars(stripslashes($d)).".inc.php");
else
include(
"inc/error404.inc.php");
include(
"template/footer.inc.php");




Спустя 1 час, 33 минуты, 30 секунд (18.08.2009 - 15:26) SunSet написал(а):
Еще бы знать что такое нульбайт laugh.gif

Спустя 35 минут, 43 секунды (18.08.2009 - 16:02) glock18 написал(а):
Цитата (SunSet @ 18.08.2009 - 12:26)
Еще бы знать что такое нульбайт


посмотри на досуге))

agentor
а чем он опасен может быть? в C он используется для указания конца строки, а вот чем он может быть опасен в php. Не просветишь ?

Спустя 13 минут, 12 секунд (18.08.2009 - 16:15) kirik написал(а):
Цитата (glock18 @ 18.08.2009 - 08:02)
а вот чем он может быть опасен в php.

Там какая-то опасность была при использовании в запросах к mysql.. По крайней мере mysql_real_escape_string() его экранирует:
Цитата (http://ca.php.net/manual/en/function.mysql-real-escape-string.php)
mysql_real_escape_string() calls MySQL's library function mysql_real_escape_string, which prepends backslashes to the following characters: \x00, \n, \r, \, ', " and \x1a.

Спустя 22 минуты, 51 секунда (18.08.2009 - 16:38) glock18 написал(а):
Все равно не понимаю чем это опасно. Тем более что он экранируется стандартной "эскейпилкой" smile.gif без него и так дыра будет.

Спустя 1 час, 32 минуты, 58 секунд (18.08.2009 - 18:11) twin написал(а):
Если разрешен удаленный инклуд, то можно нул-байтом прервать строку и подключить свой файл. Как то так...

Спустя 5 часов, 19 минут, 58 секунд (18.08.2009 - 23:31) agentor написал(а):
Цитата (twin @ 18.08.2009 - 15:11)
Если разрешен удаленный инклуд, то можно нул-байтом прервать строку и подключить свой файл. Как то так...

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

Спустя 33 минуты, 38 секунд (19.08.2009 - 00:05) PandoraBox2007 написал(а):
123.file%000

PHP
function clean_filename ($fname)
{
    static $s = array('\\', '/', ':', '*', '?', '"', '<', '>', '|');
    return str_replace($s, '', $fname);
}

// Demo..
if (ereg('/', $file)) die('Include detected!');
if (ereg('<', $file)) die('XSS detected!');
// Demo END.

clean_filename(basename($file));


если get_magic_quotes_gpc == false экранируемс

Спустя 16 часов, 27 минут, 39 секунд (19.08.2009 - 16:32) ApuktaChehov написал(а):
Этот вид взлома был известен еще давно. Это баг самого интерпритатора PHP. Насколько я знаю, его давным давно исправили.

Как пример: если имеется скрипт записи в файл.

$fp = fopen ("$file.txt", "r+");
Кажется, что другой формат кроме txt открыть нельзя.
Но, подменой переменой можно сделать следующее:
если $file="C:\WINDOWS\system.ini%000" - полсе %000 все отсикается, конце строки как бы.

И получается взлом.

Я точно не помню, очень довно читал про это.

Спустя 1 час, 3 минуты, 37 секунд (19.08.2009 - 17:36) kirik написал(а):
Цитата (ApuktaChehov @ 19.08.2009 - 08:32)
И получается взлом.

А.. Ну дык в таких случаях полюбому нужно проверять к какому файлу юзер ломится..
Вот кстати вчера случайно наткнулся, почитайте про "Фрагментированная SQL-inj".
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.