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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     24 Apr 2002  15:54:50
 To : Andrey Sapozhnikov
 Subject : Re: UNIVERSAL::can и taint check
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Andrey Sapozhnikov.
 
 Уф. Hашел. Минимальный пример, на котором бага воспроизводится:
 
 ==== 8< [test.pl] ====
 #!/usr/bin/perl -wl
 use strict;
 my ($function,$module) = @ARGV;
 $ARGV[0] =~ /^([a-zA-Z0-9_]+)$/;
 $function = $1;
 $ARGV[1] =~ /^([a-zA-Z0-9_:]+)$/;
 $module = $1;
 eval "require $module";
 print $module->can($function);
 
 ==== >8 [test.pl] ====
 
 ==== 8< [!perl test.pl param CGI] ====
 CODE(0x816fa38)
 
 ==== >8 [!perl test.pl param CGI] ====
 
 ==== 8< [!perl -T test.pl param CGI] ====
 Use of uninitialized value in print at test.pl line 9.
 
 ==== >8 [!perl -T test.pl param CGI] ====
 
 Для получения работоспособного кода достаточно убрать инициализацию
 " = @ARGV". Или заменить perl на 5.005 (бага проявляется на 5.6.1). То есть
 если переменная (my или глобальная - пофигу) инициализирована tainted данными,
 то она где-то в углу остается tainted даже после явного untaint. Причем не
 везде (иначе бы eval "require $module"; не работало), а в каком-то странном
 месте. Уж не знаю, в каком. workaround: для операции untaint использовать
 новую переменную, которая в своей жизни не инициализировалась tainted данными.
 Какое к этому отношение имеет UNIVERSAL::can - не знаю. Hо молча не работает
 именно он.
 
 -- 
 Artem Chuprina
 Communiware.net
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 UNIVERSAL::can и taint check   Artem Chuprina   22 Apr 2002 20:10:18 
 Re: UNIVERSAL::can и taint check   Andrey Sapozhnikov   23 Apr 2002 03:59:11 
 Re: UNIVERSAL::can и taint check   Victor Wagner   23 Apr 2002 09:22:54 
 Re: UNIVERSAL::can и taint check   Andrey Sapozhnikov   23 Apr 2002 18:39:48 
 Re: UNIVERSAL::can и taint check   Victor Wagner   23 Apr 2002 19:30:19 
 Re: UNIVERSAL::can и taint check   Andrey Sapozhnikov   23 Apr 2002 19:58:39 
 Re: UNIVERSAL::can и taint check   Artem Chuprina   23 Apr 2002 21:02:05 
 Re: UNIVERSAL::can и taint check   Victor Wagner   23 Apr 2002 21:04:13 
 Re: UNIVERSAL::can и taint check   Artem Chuprina   24 Apr 2002 15:54:50 
 Re: UNIVERSAL::can и taint check   Andrey Sapozhnikov   25 Apr 2002 04:28:53 
 Re: UNIVERSAL::can и taint check   Konstantin Stupnik   25 Apr 2002 13:43:19 
 Re: UNIVERSAL::can и taint check   Artem Chuprina   25 Apr 2002 13:49:34 
 Re: UNIVERSAL::can и taint check   Andrey Sapozhnikov   25 Apr 2002 15:59:52 
 Re: UNIVERSAL::can и taint check   Artem Chuprina   23 Apr 2002 10:43:07 
Архивное /ru.perl/1445435eb40a2.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional