Thread View: es.comp.bd.misc
2 messages
2 total messages
Started by Gothic Armor
Wed, 29 Mar 2006 20:44
Inyección SQL
Author: Gothic Armor
Date: Wed, 29 Mar 2006 20:44
Date: Wed, 29 Mar 2006 20:44
17 lines
2062 bytes
2062 bytes
Estamos estudiando crear una funci�n de validaci�n para campos de
formularios, de tal forma que eviten la Inyecci�n SQL. Despu�s de buscar
por internet informaci�n al respecto, y realizar una peque�a prueba de
PHP contra MySQL, nos ha sorprendido ver que autom�ticamente (con la
versi�n 4.2.1 de PHP) el caracter <'> lo sustituye por <\'>, impidiendo
de esa forma la Inyecci�n.
Nuestra duda es:
1.- �El PHP est�, por lo tanto, protegido por defecto contra la Inyecci�n?
2.- Una inyecci�n del tipo: <'; delete from nombretabla; --> a�n tiene
sentido, ya que quedar�a: WHERE usuario = '\'; delete from nombretabla;
-- AND contrase�a = ''>. Sin embargo el MySQL lo bloquea, �significa eso
que MySQL solo ejecuta una consulta cada vez?
3.- �Esta vulnerabilidad s�lo est� presente en ASP contra MS SQL SERVER?
�Se evitar�a con la sustituci�n de <'> por <\'> como en PHP?
Un saludo, y gracias de antemano,
�ngel
Re: Inyecci�n SQL
Author: Lex Sparrow
Date: Fri, 31 Mar 2006 01:01
Date: Fri, 31 Mar 2006 01:01
37 lines
2286 bytes
2286 bytes
Gothic Armor nos comentaba un dia en es.comp.bd.misc, y con tan sabias palabras, nos ense�o la luz: > 1.- �El PHP est�, por lo tanto, protegido por defecto contra la Inyecci�n? M�s bien no. PHP intenta establecer una forma de identificar los caracteres, como \n. > 2.- Una inyecci�n del tipo: <'; delete from nombretabla; --> a�n tiene > sentido, ya que quedar�a: WHERE usuario = '\'; delete from nombretabla; > -- AND contrase�a = ''>. Sin embargo el MySQL lo bloquea, �significa eso > que MySQL solo ejecuta una consulta cada vez? Si quieres hacer un sql injection tendria mas sentido usar "' OR 1=1 or 1='". De esta forma te aseguras la condici�n a true. > 3.- �Esta vulnerabilidad s�lo est� presente en ASP contra MS SQL SERVER? > �Se evitar�a con la sustituci�n de <'> por <\'> como en PHP? Vamos a ver, que tienes un cacao de cuidado. El SQL Injection es una tecnica, para la cual necesitas un SGBD y una pantalla o un campo donde hacerlo. Eso quiere decir que funciona con cualquier SGBD y con cualquier lenguaje. Lex -- Press Play Then Any Key http://www.pressplaythenanykey.com/ FAQ de es.comp.lenguajes.php: http://www.pclandia.net/escomplenguajesphp http://faq.guatemalanetworks.com Mi Freeware: http://www.pclandia.net/lexsparrow/
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads