Posts Tagged ‘Web III’

Проблемы безопасности UNIX-подобных ОС и Web III

Вторник, Апрель 17th, 2012 Нет комментариев

Under : , , , ,

80. Отсутсвие проверки на нулевой символ («%00″). В языке Perl (в отличие от C) допускается присутствие нуля в строке. Но если эта строка будет передана в функцию системной библиотеки (функция языка C), то символ нуля будет интерпретирован как признак окончания строки. Рассмотрим Perl-код.

$file = $query->param('file') , '.html';
open F, $file;

Если будет запрошен http://www.server.com/cgi-bin/program.cgi?file=1, будет открыт файл 1.html. Однако можно отправить строку file=%2Fetc%2Fpasswd%00, тогда значением переменной $file будет /etc/passwd.html. Когда это значение передается функции open(). Более подробное описание этой проблемы содержится в статье Rain Forrest Puppy (http://www.phrack.org). (далее…)