Tuxinfo - Index of
Tuxinfo - Index of
Tuxinfo - Index of
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
sql injection<br />
Guerreros de la oscuridad<br />
ACLARACIÓN: El contenido de este artículo tiene un fin<br />
educativo, y para prevención y concientización del uso de<br />
buenas prácticas de programación. Ni Marcelo Guazzardo, ni<br />
los integrantes de <strong>Tuxinfo</strong> se harán responsables del mal uso<br />
que se le pudiere dar a los conocimientos aquí explicitados.<br />
POR MARCELO GUAZZARDO<br />
El objetivo de<br />
esta nota, que si<br />
puedo será el comienzo de<br />
una serie de notas, será hablar<br />
del famoso sql injection, esta vez,<br />
mostrando una dupla muy usada<br />
para construir sitios en internet,<br />
como es PHP y MYSQL.<br />
El lector deberá tener conocimientos<br />
mínimos de sentencias SQL, (Ya<br />
que no es el objetivo de esta nota<br />
explicar SQL), y se mostrarán<br />
ejemplos básicos de sentencias<br />
SQL.<br />
Para poder seguir mejor la nota,<br />
mostraré un ejemplo real de una<br />
página mal programada adrede,<br />
para que se pueda practicar. El<br />
lector deberá levantar un entorno<br />
LAMPP como se dice ahora,<br />
apache, mysql, php con extensiones<br />
mysql. La idea es que si tengo<br />
tiempo arme una virtual machine<br />
para que se pueda seguir el artículo<br />
y la ponga en mi página personal,<br />
pero por ahora les dejo la tarea para<br />
el hogar a ustedes. ;).<br />
Comenzando<br />
Para los fines de esta nota, voy a<br />
seguir los ejemplos con el sitio que<br />
doy como ejemplo.<br />
NOTA1: Para este ejemplo, he<br />
tomado y modificado algunos datos<br />
de un paper de ka0z, lo pueden<br />
encontrar<br />
en<br />
http://www.insecure.in/papers/Blind_<br />
MySQL_Injection.pdf<br />
NOTA2: El ejemplo está dado como<br />
root, ya que root en mysql tiene<br />
privilegios de File, y otros, no en<br />
todos los sitios que se puedan<br />
inyectar van a encontrar como root<br />
el userdb, pero aunque no lo crean,<br />
me tocó hacer pen testing, y en<br />
algunos estaban corriendo como<br />
root ¡el userdb!. La recomendación<br />
es más que obvia, JAMÁS se<br />
deberá correr una db como root en<br />
una aplicación.<br />
Generamos por empezar una base<br />
donde alojaremos algunos datos<br />
básicos, para la muestra de sql<br />
injection.<br />
A continuación, el código:<br />
CREATE DATABASE tuxinfo;<br />
USE tuxinfo<br />
CREATE TABLE `users` (<br />
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,<br />
`name` VARCHAR(50) NOT NULL,<br />
`password` VARCHAR(50) NOT NULL,<br />
PRIMARY KEY (`id`)<br />
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;<br />
-- users --<br />
INSERT INTO `users` VALUES (1, 'administrator', '123456');<br />
INSERT INTO `users` VALUES (2, 'jax0r', 'muestra');<br />
INSERT INTO `users` VALUES (3, 'otro', 'algo');<br />
28 www.tuxinfo.com.ar