Perl , post

Discussion in 'PHP' started by $p01nt, 21 Feb 2008.

  1. $p01nt

    $p01nt Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    116
    Likes Received:
    20
    Reputations:
    1
    хочу передать пост запрос на определенный сайт , он выглядит так :
    name=тут имя & message= тут сообщение & id=тут индефикатор . id генерируется каждый раз разный , как его узнать ?
     
  2. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    Найти алгоритм генерирования или выдирать из страницы.
    ЗЫ. а флудить нехарашо.
     
  3. diehard

    diehard Elder - Старейшина

    Joined:
    30 Sep 2007
    Messages:
    442
    Likes Received:
    266
    Reputations:
    15
    Кем генерируется? У него и узнай.

    Пост-запрос имеет такой вид:

    Code:
      $post = "name=$name&mess=$mess&id=$id";
      $len = strlen($post);
      $query = "POST /go.php HTTP/1.1\r\n".
    	 "User-Agent: Mozillko\r\n".
    	 "Host: host.com\r\n".
    	 "Referer: http://host.com\r\n".
    	 "Content-Type: application/x-www-form-urlencoded\r\n".
    	 "Connection: close\r\n".
    	 "Content-Length: $len\r\n".
    	 "\r\n".
    	 "$post";
    
     
  4. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Этот $id идентификатор сообщения? или капча?
     
  5. $p01nt

    $p01nt Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    116
    Likes Received:
    20
    Reputations:
    1
    $id идентификатор сообщения
     
  6. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Code:
    use LWP::UserAgent;
    use HTTP::Request;
    $url = "http://site.ru";
    $ua = LWP::UserAgent->new();
    $req = HTTP::Request->new (POST => $url);
    $req->content_type ("application/x-www-form-urlencoded");
    $req->content ("name=IMYA&message=MESSAGE&id=ID");
    $res = $ua->request($req);
    die "Error: " . $res->status_line unless ($res->is_success);
    $content = $res->content;
    ....
    
    Если id - каптча, то нужно искать антикаптчу (если повезет, найдете)
     
  7. $p01nt

    $p01nt Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    116
    Likes Received:
    20
    Reputations:
    1
    http://paste.org.ru/?s3rkdn кто может переделать скрипт так что бы он отправлял ? на примере проще гораздо просто :)
     
  8. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Сначала обратиться к странице и узнать id
    Найти его так:
    PHP:
    <?php
    $site 
    file_get_contents('/');
    preg_match("#<div>(.*)</div>#isU"$site$out);
    echo 
    $out['1']; // Это твой id
    ?>
    <div> - Это тэг или какой-то код который идет до определения id на странице, а </div> это тег или кусок кода, который идет после определения id на странице...
    далее делаешь пост запрос, что показан выше с этим $id
     
  9. $p01nt

    $p01nt Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    116
    Likes Received:
    20
    Reputations:
    1
    Isis можно тоже самое только на перл ?
     
  10. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    http://pastebin.x3k.ru/145

    Не проверял
     
  11. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Нет))))Не знаю перл..увы
     
  12. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    речь случайно не про гостевую на том сайте?

    http://www.kyky.altnet.ru/guest/write.php
    куда проще зафлудить, тем более там активная xss (но кавычки фильтрует)
     
    #12 imajo.ati, 21 Feb 2008
    Last edited: 21 Feb 2008
  13. $p01nt

    $p01nt Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    116
    Likes Received:
    20
    Reputations:
    1
    2all !! примеры , отрывки кода и т.д. и т.п. только на PERL !
    imajo.ati да про ту , я знаю - просто использую как пример
     
  14. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    именно для данного случая этот ид совсем не нужен. он не привязан ни к чему, а
    потому это просто число. одно из чисел, которые сервер принимает за валидные.
    проще сохранить форму на хард и наштамповать посты яваскриптом.
     
  15. $p01nt

    $p01nt Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    116
    Likes Received:
    20
    Reputations:
    1
    у кого нибудь будет ответ который нужен мне ? как узнать id , плз пишите на примере , ЯП обязательно перл !
     
  16. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    $p01nt
    я ещё раз повторюсь. id постоянный он не генерируется. посмотри. 41c3c0244c353
    сколько страницу не обновляй id будет один и тот же.
    имхо неудачный пример для тренировки


    а на твой вопрос уже ответил Isis, пост №8
     
    #16 imajo.ati, 21 Feb 2008
    Last edited: 21 Feb 2008
  17. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    $p01nt Стучи в Осику напишем
     
  18. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    PHP:
    use LWP::UserAgent;
    my $ua LWP::UserAgent->new();
    my $res $ua->post($url
                [ 
    'param1' => 'val1',
                  
    'param2' => 'val2', ],
                  
    'header1' => 'val1',
                  
    'header2' => 'val2',
            );
    etc
     
  19. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Пиф он имел регулярку ^^

    Php:
    PHP:
    $site file_get_contents('/'); 
    preg_match("#<div>(.*)</div>#isU"$site$out); 
    echo 
    $out['1']; // Это твой id
    Perl: (Покажу напримера файла)
    Сделал файл page.html с содержанием:
    HTML:
    <html>
    <head>
    <title>PERL regexp</title>
    </head>
    <body>
    <h1>File where I serach text</h1>
    <DIV>I NEED THIS TEXT</DIV>
    </body>
    </html>
    
    Тут I NEED THIS TEXT то что нам надо искать...
    Вот perl скрипт:
    PHP:
    #!/usr/bin/perl

    open(DATAFILE"scr/page.html") || die "Cannot open DATAFILE";
    while(
    defined($file = <DATAFILE>)) 
    {
    if(
    $file=~m%(<DIV>(.*)</DIV>)%igs)
        {
    $file=~s%(<DIV>(.*)</DIV>)%%igs;
    print 
    "Result: $2";
        }
    }
    Запустил, результат:
     
    #19 bul.666, 22 Feb 2008
    Last edited: 22 Feb 2008
  20. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    PHP:
    #!/usr/bin/perl -w #вроде этот ключ исправляет некоторые ошибки в коде

    open(DATAFILE"scr/page.html") || die "Cannot open DATAFILE";
    while(<
    DATAFILE>) 
    {
    if(
    m/<A>(.+)<(backslash)/A>/igs)
        {
    s/<A>(.+)<(backslash)/A>/igs;
    print 
    "Result: ".$_;
        }
    }
    close(DATAFILE);
    ^^