Upload a file
#!perl
$content_type = $ENV{'CONTENT_TYPE'};
binmode STDIN;
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
if ((!$content_type) || ($content_type =~ m#^multipart/form-data#)){
($boundary = $content_type) =~ s/^.*boundary=(.*)$/\1/;
@pairs = split(/--$boundary/, $buffer);
@pairs = splice(@pairs,1,$#pairs-1);
for $part (@pairs)
{
($dump,$fline,$value) = split(/\r\n/,$part,3);
next if $fline =~ /filename=\"\"/;
$fline =~ s/^Content-Disposition: form-data; //;
(@columns) = split(/;\s+/, $fline);
($name = $columns[0]) =~ s/^name="([^"]+)"$/\1/g;
if ($#columns > 0)
{
if ($value =~ /^Content-Type:/)
{
($dump,$dump,$value) = split(/\r\n/,$value,3);
}
else {($dump,$value) = split(/\r\n/,$value,2);}}
else {($dump,$value) = split(/\r\n/,$value,2);
if (grep(/^$name$/, keys(%CGI))) {
if (@{$FORM{$name}} > 0) {
push(@{$FORM{$name}}, $value);}
else {
$arrvalue = $FORM{$name};
undef $FORM{$name};
$FORM{$name}[0] = $arrvalue;
push(@{$FORM{$name}}, $value);}}
else {
next if $value =~ /^\s*$/;
$FORM{$name} = $value;}
next;}
$FORM{$name} = $value;}}
else{
@pairs2 = split(/&/, $buffer);
foreach $pair2 (@pairs2)
{
($name2, $value2) = split(/=/, $pair2);
$value2 =~ tr/+/ /;
$value2 =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value2 =~ s/<!--(.|\n)*-->//g;
$input{$name2} = $value2;
}}
#dir
$base='upload/';
chdir($base);
$name_file = $input{'name_file'};
$upfile1 = $FORM{'upfile1'};
$upname1 = $FORM{'upname1'};
#Upload 1 file
$filename1 = $upname1;
open(FILE1, ">$filename1");
binmode FILE1;
print FILE1 $upfile1;
close FILE1;
print "Content-type: text/html\n\n";
print "<center><FONT face=Tahoma size=2>Uploaded: ".length($upfile1)." bytes</center>";
print "<html>
<FORM method=POST action='upload.pl' enctype='multipart/form-data'>
<table bgcolor=black border=0 cellspacing=1 cellpadding=4 width=100%>
<tr>
<td valign=top width=100% bgcolor=gray>
<center><FONT face=Verdana size=2>
<b>Upload Files</b>
<hr size=1 color=black>
</center>
<font face=Verdana size=2>
<input type=file size=25 name=upfile1><br>
<input type=text name=upname1 size=25> Èìå íà ôàéëà
<hr size=1 color=#e1e1e1>
<input type=submit value=Upload>
</form>
</td></tr></table>
<font face=Verdana size=2><P><center>
Êà÷åíèòå ôàéëîâå ñå íàìèðàò â äèðåêòîðèÿòà <A href='http://192.168.196.128/upload/'>upload</A>
</center>
</font>
</html>";