LINUX.ORG.RU

CGI на Perl (удаленный shell)


0

0

Не могу найти ошибку - помогите пожалуйста (мне кажется, что где-то тут синтаксическая ошибка). Или присоветуйте где скачать готовый CGI-shell:

#!/usr/bin/perl

read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
@names=split('$',$buffer);

foreach $name (@names)

{
($field.$value)=split('=',$name);
$value=~ s/\+//g;
$value=~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("c",hex($1))/ge;
$form{$field}=$value;
}

print<<EOT

Content-type: text/html

<html>
<body bgcolor="#ffffff" onLoad="document.forms[0].com.focus()">
<form method="post" action="shell.cgi">
<input size=50 name="com">
</form>

EOT

;
$result = '$form{com} 2>&1';
$result =~ s/\n/<br>/g;
print $result;
print "</body></html>\n";

anonymous

Две отловил :) Но все равно не выводит результат выполнения...

1) split('$',$buffer) заменяем на split('&',$buffer)
2) ($field.$value) заменяем на ($field,$value)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.