2010-11-23 8 views
6

Simple, un ataque de inyección SQL en el menor número de caracteres posible. Tenga en cuenta que no estoy tratando de evitar los ataques de inyección de SQL limitando las entradas a un determinado tamaño, sino que realmente siento curiosidad por saber cuántos caracteres se necesitan para ejecutar incluso el ataque más simple.¿Cuál es la secuencia de caracteres de ataque de inyección SQL más pequeña posible?

Para la posteridad, digamos que el nombre más pequeño de la tabla es de 4 caracteres, por ejemplo, "usuario". Por favor, factor que en

Respuesta

10

1 El carácter es la unidad más pequeña que usted tiene control sobre. La pregunta depende en gran medida de lo que estás haciendo. Por ejemplo, si usted está tratando con una interfaz para borrar el perfil de un sitio, y si envía '%' en lugar de su nombre:

"Delete from Users where name like '"+username+"'" 

luego poner su nombre de usuario a % se eliminarán todos los usuarios.

+5

¿Qué sitio en serio usaría 'me gusta '? – SLaks

+9

¿Qué sitio sano permitiría ataques de inyección SQL? – david

+0

Ninguno, pero ¿qué sitio web no desinfectará sus entradas de base de datos? – UnkwnTech

0

supongamos que la consulta se generó como esto

"Select * from user where userid = " + myVar 

1; delete from user; 
+0

¿que tal 'usuario truncado'? – david

6

Cuando se inyecta en una cadena literal:.

';drop database;-- 
+0

Creo que esta es la respuesta que estaba buscando, ya que es un caso de uso más realista. Sin embargo, la otra respuesta a continuación, aunque tal vez no sea realista, es la respuesta más corta (y creativa). Gracias por tu respuesta. – coderintherye

Cuestiones relacionadas