Hola soy nuevo en el foro. He estado haciendo pruebas de blind sql injection a un servidor sql server. Las consultas de ese servidor a la base de datos son con procedimientos almacenados del tipo:
"EXEC proced @var = '$phpvar'".
La base de datos no esta conectada al internet.
He estado probando con ataques basados en tiempo y hasta ahora ha salido bien, pero es muy lento y quisiera saber si hay otra forma de hacer que no sea con tiempo. Un ejemplo del mapeo que he estado haciendo es:
'; declare @s varchar(8000) SELECT @s = TABLE_NAME FROM
( SELECT TABLE_NAME, ROW_NUMBER() OVER (ORDER BY TABLE_NAME asc) as row
FROM INFORMATION_SCHEMA.TABLES ) as alias
WHERE row = 3 if (ascii(substring(@s, 1, 1)) > 1) waitfor delay '0:0:5' --
Por otro lado, cuando la consulta tiene un error de sintaxis, la pagina se muestra con errores (pero no aparece ningun error del sql). He probado insertarle una consulta como
'; THROW 51000, 'The record does not exist.', 1;
Pero no causa ningun error. Creo que se podría causar algún error a la consulta (algo así como bloquear temporalmente la conexion) para que me mande a la pagina de error y no tenga que trabajar sólo con el tiempo, ya que es demasiado lento
"EXEC proced @var = '$phpvar'".
La base de datos no esta conectada al internet.
He estado probando con ataques basados en tiempo y hasta ahora ha salido bien, pero es muy lento y quisiera saber si hay otra forma de hacer que no sea con tiempo. Un ejemplo del mapeo que he estado haciendo es:
'; declare @s varchar(8000) SELECT @s = TABLE_NAME FROM
( SELECT TABLE_NAME, ROW_NUMBER() OVER (ORDER BY TABLE_NAME asc) as row
FROM INFORMATION_SCHEMA.TABLES ) as alias
WHERE row = 3 if (ascii(substring(@s, 1, 1)) > 1) waitfor delay '0:0:5' --
Por otro lado, cuando la consulta tiene un error de sintaxis, la pagina se muestra con errores (pero no aparece ningun error del sql). He probado insertarle una consulta como
'; THROW 51000, 'The record does not exist.', 1;
Pero no causa ningun error. Creo que se podría causar algún error a la consulta (algo así como bloquear temporalmente la conexion) para que me mande a la pagina de error y no tenga que trabajar sólo con el tiempo, ya que es demasiado lento