PREGUNTA - SQL BLIND INJECTION

Iniciado por tobiasasa, 9 Abril 2020, 23:29 PM

0 Miembros y 1 Visitante están viendo este tema.

tobiasasa

Hola, soy un script kiddie 🤣 estoy tratando de hacer una inyección SQL a ciegas para aprender pero la inyeccion por metodo POST request no funciona y no sé por qué, en mi página de Wordpress dice que en mypage/wp-comments-post php puedo hacer una inyección SQL a ciegas la cual realice modificando esta petición POST:

comment=hiitsatest&
author=me&
email=mymail@hotmail.com&
url=me.com&
si_code_com=QPoEoLs1BI3XdUoo&
captcha_code=ME&
submit=Publicar+comentario&
comment_post_ID=92&
comment_parent=0


Cuando entro en la url donde se puede hacer la inyección wp dice 405 - el verbo HTTP utilizado para acceder a esta página no está permitido.
No estoy seguro de si puedo hacer la inyección de todos modos, o tengo que entrar en la administración de mi página.


comment=hiitsatest'UNION SELECCIONE * DE *-- +&
author=me&
email=mymail@hotmail.com&
url=me.com&
si_code_com=QPoEoLs1BI3XdUoo&
captcha_code=ME&
submit=Publicar+comentario&
comment_post_ID=92&
comment_parent=0


La respuesta es:
500 Error interno del servidor.
Hay un problema con el recurso que está buscando, y no puede ser mostrado.

Si alguien sabe por qué podría ser o qué se necesita para arreglarlo, si la frase SQL está mal, sería de gran ayuda, ¡gracias y perdón por molestar!

WHK

Primero, recuerda que estás usando form urlencoded asi que debes codificar el contenido en urlencode, por ejemplo los espacios en blanco deben ser %20, lo mismo con los asteriscos y demás. Recuerda a demás que los separadores de parámetros no pueden llevar saltos de línea. También recuerda que si modificas el body de la petición post también debes modificar el content length con la cantidad de bytes de tu nueva petición.

Saludos.

tobiasasa

#2
Cita de: WHK en 10 Abril 2020, 04:18 AM
Primero, recuerda que estás usando form urlencoded asi que debes codificar el contenido en urlencode, por ejemplo los espacios en blanco deben ser %20, lo mismo con los asteriscos y demás. Recuerda a demás que los separadores de parámetros no pueden llevar saltos de línea. También recuerda que si modificas el body de la petición post también debes modificar el content length con la cantidad de bytes de tu nueva petición.

Saludos.

Buenas noches WHK, muchas gracias por responder y disculpa las molestias, entiendo perfecto lo del formato urlencoded y lo del salto de linea por lo que me quedaria asi:
comment=hitest&author=test'UNION%20SELECCIONE%20%2A%20DE%20%2A--%20%2B&email=hitest@hotmail.com&url=ZAP&si_code_com=QPoEoLs1BI3XdUoo&captcha_code=ZAP&submit=Publicar+comentario&comment_post_ID=92&comment_parent=0
lo que refiere a modificar el content lengt lo estaba haciendo por ZAAP, el cual creo que lo modifica solo, aunque me sigue dando error el server con una respuesta de servidor 500 There is a problem with the resource you are looking for, and it cannot be displayed, podria ser que simplemente wp estuviera bloqueando el sql injection? Habria alguna manera de darle la vuelta? Disculpa la molestia! y gracias!

WHK

Pues primeramente debes reconocer si realmente el sitio web tiene inyección o no antes de comenzar a lanzar comandos sql, recuerda que si el wordpress le pertenece a una empresa o a una entidad relativamente grande entonces tendrán sistemas de monitoreo que deben estar guardando tus peticiones cada ves que las realizas.

Primero detecta porque está arrojando el error 500, trata de hacer una consulta normal sin sql ni nada, si aun asi te arroja el error 500 puede ser porque la sección simplemente no funciona, es un error genérico, es problema de tu petición y tus cabeceras, etc. Primero intenta que el servidor te devuelva un 200ok y después comienza a intentar ver si tiene inyección, por ejemplo, saber si una comilla o backslash tiene un comportamiento diferente a un caracter normal como simples letras, luego de eso debes intentar pensar como está diseñado la consulta sql original para que puedas inyectar tu consulta, ya sea dentro de un select, con o sin saltos, con o sin parentesis, dentro de funciones o no, etc.

tobiasasa

Cita de: WHK en 10 Abril 2020, 07:11 AM
Pues primeramente debes reconocer si realmente el sitio web tiene inyección o no antes de comenzar a lanzar comandos sql, recuerda que si el wordpress le pertenece a una empresa o a una entidad relativamente grande entonces tendrán sistemas de monitoreo que deben estar guardando tus peticiones cada ves que las realizas.

Primero detecta porque está arrojando el error 500, trata de hacer una consulta normal sin sql ni nada, si aun asi te arroja el error 500 puede ser porque la sección simplemente no funciona, es un error genérico, es problema de tu petición y tus cabeceras, etc. Primero intenta que el servidor te devuelva un 200ok y después comienza a intentar ver si tiene inyección, por ejemplo, saber si una comilla o backslash tiene un comportamiento diferente a un caracter normal como simples letras, luego de eso debes intentar pensar como está diseñado la consulta sql original para que puedas inyectar tu consulta, ya sea dentro de un select, con o sin saltos, con o sin parentesis, dentro de funciones o no, etc.

Perfecto, VHK, muchas gracias, por responder, ya mismo me pongo a analizarlo, disculpa las molestias y muy amable!