|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Pavel V. Ammosov 2:5020/52 19 Mar 2001 17:01:32 To : All Subject : Re: hack -------------------------------------------------------------------------------- >Как я понимаю, 90% взломов перловых вещей может быть связано с таким фактом: > >open($fh,"<$file"); Как раз это вариант вполне безопасен: первый < экранирует все остальные модификаторы. Hо, именно, что вполне -- если аттакующему удастся пропихнуть символ NULL (ASCII 0), то underlying OS (как по-русски?:-) ограничится только частью имени файла до этого символа. То есть, если у тебя код типа такого my $article = param('article'); open ARTICLE, "<$article.html" or die "$!"; и тд, то атакующий может прописать в запросе article=/etc/passwd%00 и получить что хочет. >Поэтому вопрос: Как правильно проверить $file на дружелюбность? >Т.е. в самом простом случае, на то, что открывать будем физический файл, а >не пайпы? Hе открывать файлы с именами, получаемыми от юзера :-) Храни все в rdbms. >$file=! s/\|//g; >Сойдет? Или я что-то упустил? ../../, etc >Другие варианты есть? -- Pavel Ammosov O \ apavel@aha.ru __ ) http://isabase.philol.msu.ru/~apavel/ ) wget -O - isabase.philol.msu.ru/~apavel/key.asc|pgp -fka O / --- slrn/0.9.6.3 (Linux) * Origin: Mr. Postman (2:5020/52.0) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/829619c7e5c66.html, оценка из 5, голосов 10
|