Quien chingados soy?
Soy B4du3l

A que me dedico?
Me dedico a programar aplicaciones web

Que me gusta ?
Andar jodiendo cuando tengo tiempo ocioso

Blogroll: 6

[x] Agregar a b4du3l

russh russh
applemex applemex
wazz wazz
xianur0 xianur0
fresnohacker fresnohacker
d4rk0x d4rk0x

Perfil de b4du3l

[x]Nick: b4du3l
Rango: Amateur
País: mx
Visitas: 6035
Votos: 21
En Blogrolls: 12
Status: PM

Patrocinadores:


Anuncia aquí

Coleccionista de calzones.

Publicado el 29/01/2010 12:01:00 en Off Topic.

bueno pues andaba de ocioso y me encontre este video que la neta me hice reir un poquitin



Comentarios: 0 | Leer comentarios

[x] CheckBoxManager (mootools)

Publicado el 12/11/2009 12:11:00 en Programación Web. Total de votos: 0  Votar


hace un tiempo tuve la necesidad de programar un modulo que hacia uso de checkbox los cuales deberian ser poder activados o desactivados todos por un solo checkbox(el papá) de acuerdo al estado de este, es decir si el checkbox(el papá) estaba checked = true, los demas deberian estarlo y viceversa, ademas al haber un checkbox en estado checked=false el papa deberia cambiar a estado no checked=true, sin desactivar los demas checkbox, pues se me ocurrio hacerlo con mootools codeando una clase que llame CheckBoxManager de la siguiente manera
var CheckBoxManager = new Class( 
{ 
Implements:[Options], 
options: 
{ 
papa:'', //id del Papa 
hijos:'' //Clase hijos 
}, 
initialize:function(options) 
{ 
this.setOptions(options) 
this.Padre  = $(this.options.papa) 
this.Hijos  = $$('input.'+this.options.hijos) 
this.Checados = this.ObtenerChecados() 
this.TotalHijos = this.Hijos.length 
this.AsignaEventos() 
}, 
AsignaEventos:function() 
{ 
//Asignacion de evento al padre 
Padre       =   this.Padre 
Hijos       =   this.Hijos 
Checados    =   this.Checados 
TotalHijos  =   this.TotalHijos 
Padre.addEvent('click',function() 
{ 
Hijos.each(function(el){ el.checked=Padre.checked}) 
if(Padre.checked == true ) 
Checados =Hijos.length 
else
Checados =0 
}) 
 
 //Asignacion de evento a los hijos 
Hijos.each(function(el) 
{ 
el.addEvent('click',function() 
{ 
if(el.checked==true) 
Checados++ 
else
Checados-- 
if(Checados==TotalHijos) 
Padre.checked=true
else if (Checados < TotalHijos && Padre.checked==true) 
Padre.checked=false
}) 
}) 
}, 
ObtenerChecados:function() 
{ 
var Total=0; 
this.Hijos.each(function(el) 
{ 
if(el.checked==true) Total++ 
}) 
return Total 
} 
} 
);


para poder implementarlo se incluye el framework mootools y el archivo js de la clase checkboxmanager y se instancia de la siguiente manera
<script> 
window.addEvent('domready',function()
{	
var Manager = new CheckBoxManager({papa:'Papa',hijos:'Hijo'})
})
</script>


donde papa recibe el ide del checkbox que controlara a los demas e hijos recibe el nombre de la clase compartida con los demas checkbox que seran los "hijos"

puesto en practica queda asi.

<html>
<head>
<script type="text/javascript" src="mootools-1.2.1-core-nc.js"></script>
<script type="text/javascript" src="CheckBoxManager.js"></script> <script> window.addEvent('domready',function() { var Manager = new CheckBoxManager({papa:'Papa',hijos:'Hijo'}) }) </script> </head>
<body>
<input type="checkbox" name="Papa" id="Papa" class="Papa"><label for="Papa" class="Manager">Todos</label><br>
<input type="...


Continúa aquí...


Comentarios: 9 | Leer comentarios

[x] Relato de un Deface: La odisea de kaOs y b4du3l

Publicado el 11/11/2009 12:11:00 en Hacking Web. Total de votos: 4  Votar

Érase una ves un un alumno llamado kaos que estudiaba en la prepa de san clodomiro, y que tenia pedos con un profe de informatica que se creia la gran riata, kaos de buena onda le comento al profe que la pagina web de la prepa san clodomiro tenia un bug el profe le contesto
Mira kaos yo programe esa web y se de la existencia del bug, pero nadie tiene nivel para hacer algo en contra de la pagina web que yo!! programe


kaos entristecio y a la vez le agarro coraje al profe, kaos solo queria ayudar y el profe lo mando a chihuahua al baile.

Tiempo despues de aquel incidente kaos conoció una super página llamada diosdelared[dot]com, donde aprendió mas acerca del bug que tenía la página de la prepa san clodomiro y se dispuso a preparar un ataque hacia la página en venganza de lo que el profe le habia dicho.

Por otro lado b4du3l terminaba sus estudios y se preparaba para presentar un examen para obtener trabajo en la preparatoria san clodomiro, en fin lo presento y wala entro a trabajar en la prepa san clodomiro.

a una semana de haber entrado b4du3l a trabajar en la matriz de la prepa san clodomiro kaos realiza su primer ataque a la pagina de la prepa. y wala logra entrar al sistema de de la pagina web y se dispone a defacearla y lo hace!!!



Por otro lado al dia siguiente muy temprano por la mañana los encargados de la alta direccion de la prepa san clodomiro hablan alarmados al encargado del departamento encargado de desarrollar la pagina web (obvio el profe no lo programo).

Los encargados de la alta direccion y el jefe del departamento de desarrollo estaban que se los llevaba pifas... y ya preparaban una demanda contra quien resulte responsable de esos actos delictivos XD. Por lo tanto pidieron a los programadores de ese departamento investigaran quien era el responsable , la unica pista que kaos dejo fue
su metroflog en cual se encontraba uno de sus nombre , que era de la ciudad de san cachetes y que ademas era estudiante de esa pepraratoria.

Entonces el programador que tenia acceso a las bases de datos del sistema de estudiantes de la prepa se dispuso a realizar una busqueda con el nombre que kaos dejo en el deface, encontro varias ocurrencias 8 para ser exactos, pero ninguno pertenecia a la ciudad de san cachetes y pues como no era ninguno de esos se dio por vencido.

kaos queria que lo contactara el admin de la pagina web, el creia que era el maestro, sin embargo no era asi, era otra persona ,pero esta persona dijo, no no lo voy a contactar pero nos pidio que lo agregaramos para ver si le sacabamos info de quien era realmente.

b4du3l que sabia un poquin de estas cosas del underground lo agrego y cuando lo vio conectado le dijo
no mames!!! como le hiciste??? te quedo poca madre!!!!

y kaos
ahh pues muy facil, solo puse esto, y esto , esto mas y lis...


Continúa aquí...


Comentarios: 23 | Leer comentarios

[x] PreparedStatement (filtrando sqli)

Publicado el 20/10/2009 12:10:00 en Programación Web. Total de votos: 6  Votar

Cuando desarrollamos un sitio web que hace uso de contenido dinamico almacenado en una base de datos, por lo general el programador comete el gravisimo de dejar bugs de sql injection
las razones pueden ser muchas, pero no hablaremos de ellas.

En el lugar donde actualmente trabajo se implemento el uso de un servidor jsp, por lo tanto actualmente se desarrolla una seccion de la aplicacion web en jsp, bueno lo importante es que en jsp se hace uso del objeto PreparedStatement el cual a través del metodo prepareStatement se filtra(me refiero a evitar) muy bien las injecciones sql.

Me dije, no mames esto deberia tenerlo php tambien, por suerte, si, si lo tiene, pero tenemos que hacer uso de la clase PDO la cual biene activada por defecto, adicionalmente debemos tener activada la dll correspondiente al tipo de servidor de base de datos en este caso mysql, para activar esta libreria en el php.ini
deben descomentar la siguiente linea
;extension=php_pdo_mysql.dll

les quedaria asi
extension=php_pdo_mysql.dll


Ahora bien, como sea usa, pues de la siguiente manera
(pongamos tambien como se haria de la manera tradicional para ver los resultados de cada metodo al mismo tiempo)
<?php

$idMarca=$_GET[idMarca];

//instanciamos a la clase pdo
$base = new PDO('mysql:host=127.0.0.1; dbname=mybd','root','toor');

//ahora prepararemos la consulta equivale a hacer el prepareStatement en jsp
$consulta=$base->prepare("select * from marca where Id_Marca=:Marca");

//ahora asignamos un valor al parameto :Marca definido en la preparacion de la consulta
$consulta->bindParam(':Marca',$idMarca);

//Ejecutamos la consulta
$consulta->execute();
echo "Resultados con PDO:<br>";
//ahora sacamos los datos resultantes
echo "<table>";
echo "<tr><td>Id_Marca</td><td>Nombre</td></tr>";
while($fila=$consulta->fetchObject())
{
	echo "<tr>";
	echo "<td>$fila->Id_Marca</td>";
	echo "<td>$fila->Nombre</td>";
	echo "</tr>";
}
echo "</table>";


$link=mysql_connect('127.0.0.1','root','toor');
mysql_select_db('mybd',$link);
$consulta="select * from marca where Id_Marca=$idMarca";
$resultado=mysql_query($consulta,$link);

echo "Resultados de la manera tradicional:<br>";
echo "<table>";
echo "<tr><td>Id_Marca</td><td>Nombre</td></tr>";
while($fila=mysql_fetch_object($resultado))
{
	echo "<tr>";
	echo "<td>$fila->Id_Marca</td>";
	echo "<td>$fila->Nombre</td>";
	echo "</tr>";
}
echo "</table>";


Bien ya que tenemos nuestro code, observemos los resultados en nuestro servidor de pruebas

Primero checar...

Continúa aquí...


Comentarios: 9 | Leer comentarios

[x] [PHP] Creando imagen ascci (mejora del code de kaOs)

Publicado el 18/10/2009 12:10:00 en Programación Web. Total de votos: 2  Votar

en vista de que kaos se siente con el autestima un poco bajo
le propongo este code
<?php
if($_POST[enviar]) //validamos que se haya hecho el submit
{
	
	if($_FILES[archivo]) // validamos que se haya incluido un archivo
	{		
		$rutatemporalimagensubida=$_FILES[archivo][tmp_name];		
		if(@$imagen=imagecreatefromgif($rutatemporalimagensubida)){}
		else if(@$imagen=imagecreatefrompng($rutatemporalimagensubida)){}
		else if(@$imagen=imagecreatefromjpeg($rutatemporalimagensubida)){}
		else { $imagen=false;}
	}
}
?>
<html>
<head>
</head>
<body>
<form action="index.php" method="POST" enctype="multipart/form-data">
<input type="file" name="archivo" id="archivo">
<br>
<input type="submit" name="enviar" value="enviar">
</form>
<br>
<?php
		if($imagen)
		{
		print "<div style=\"font-size: 8px; line-height: 0.5em\">";
		for($y=0;$y<imagesy($imagen);$y++) {
    	for($x=0;$x<imagesx($imagen);$x++) {
        $rgb = imagecolorat($imagen,$x,$y);
		$hex = sprintf("%06X", $rgb);
        print "<font color=\"#$hex\">01</font>";
		}
	print "<br>";
	}
	}
?>
</body>
</html>



lo adicional es que solo usa un input de subida y el script checa que tipo de imagecreate debe usar
obvio solo para png, gif y jpg

Comentarios: 19 | Leer comentarios