如何通过Perl for HTTP从袜子发送裸字数据或无效数据?
#!/usr/bin/env perl
use strict;
use warnings;
use IO::Socket;
print "[ + ] Enter URL: ";
chomp($url=<STDIN>);
print "[ + ] Enter Index Page: ";
chomp($page=<STDIN>);
print "[ + ] Enter Host Field: ";
$host=<STIND>;
$data = "%0d%0aContent-Length:%2020%0d%0aContent-Type:%20text/html%0d%0a%0d%0a HTTP/1.1";
use IO::Socket;
$| = 1;
my $sock = new IO::Socket::INET (
PeerAddr => '$url',
PeerPort => '80',
Proto => 'tcp',
);
die "Could not create socket: $!\n" unless $sock;
print $sock "GET $url$data \r\n";
print $sock "Pragma: no-cache";
print $sock "Host: $host\r\n";
print $sock "User-Agent: Mozilla/4.7 [en] (WinNT; I)\r\n\r\n";
print $sock "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,image/png, */*\r\n";
print $sock "Accept-Encoding: gzip\r\n\r\n";
print $sock "Accept-Language: en\r\n";
print $sock "Accept-Charset: iso-8859-1,*,utf-8\r\n\r\n";
print while <$sock>;
close($sock);
Perl不再抱怨发现了裸字并且数据永不通过,我想使用相同的代码传递任何无效数据,以便从我的$ data字段进行模糊测试。
错误消息1: 输入主机:无法创建套接字:无效参数
错误消息2: Bareword在sock.pl第20行的“ 0d”附近找到了操作员期望的位置