Как отправить голые данные с носка в perl? - PullRequest
0 голосов
/ 02 июля 2019

Как отправить данные голых слов или недопустимые данные из носков в Perl для 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 перестает жаловаться на найденные голые слова и данные никогда не передаются, я хочу передать любые неверные данные для фаззинга из моего $поле данных с использованием того же кода.

Сообщение об ошибке 1: введите хост: не удалось создать сокет: недопустимый аргумент

сообщение об ошибке 2: найдено несоответствующее слово, где ожидается оператор в строке sock.pl 20 рядом с "0d "

...