Как был взломан programme.ru
В новогоднюю ночь нарыл я интересный скрипт для голосования под названием vote.pl. Заглянул в исходники. На первый взгляд маленький безобидный скрипт… но это только на первый взгляд ))) Меня заинтересовали строки: @pairs = split(/&/, $bufer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $VOTE{$name} = $value; } $filecnt="$VOTE{id}.cnt"; $filedata="$VOTE{id}.dat"; $filelog="$VOTE{id}.log"; $action="$VOTE{action}"; $oldlog="$VOTE{id}.old"; Никакой проверки на метасимволы