Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: hack   Pavel V. Ammosov   19 Mar 2001 17:01:32 
Архивное /ru.perl/829619c7e5c66.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional