¡Hola a todos después de un mes! Espero que todo os vaya bien y que estéis pwneando mucho por Navidades. Por mi parte llevo unos días practicando con webs de openbugbounty y me está sirviendo para probar en entornos reales, algo que está dando buenos resultados para aprender. Hoy os traigo una SQL injection con la que podremos beneficiarnos de las tarjetas regalo de una tienda sin tener ninguna.
Como muchos no sabréis cómo funciona una SQLi voy a dar una pequeña explicación. Cuando visitamos una página web en la que introducimos datos son procesados en el servidor y muchas veces para procesarlos lo que se realiza es una comunicación con una base de datos.Imaginad que estáis iniciando sesión en una web, introducís vuestros datos y el servidor realiza una verificación para saber si los datos que habéis introducido son correctos. La consulta sería algo así:
SELECT * FROM Users WHERE Name ="' + uName + '" AND Pass ="' + uPass + '"
Podría haber un problema si nuestro hackerito introduce algo como:
" or ""="
ya que la consulta se vería alterada de forma que no realiza su función y en lugar de comprobar que ese usuario y contraseña concuerdan le dejará pasar sin más.
Para el caso que vengo a explicar hoy es algo parecido.
Lo primero que probé fue modificar el precio de los productos en las peticiones si eran mandados como parámetro, pero no era el caso así que tuve que seguir probando suerte.
En el momento de pagar me fijé que había una entrada para meter un código de una tarjeta regalo y se me ocurrió explotar una SQL injection ahí. La consulta supongo que sería algo como:
SELECT * FROM Codes WHERE Code="' + codigo + '"
por lo que añadiendo ' or 1=1-- - la consulta quedaría:
SELECT * FROM Codes WHERE Code= "'' or 1=1-- -'"
Esto significa que va a coger todo de la tabla Codes donde Code sea nada o 1 sea igual a 1, algo que siempre va a ser verdadero, obviamente.
Y al proceder a la compra no realiza ningún tipo de verificación de lo introducido.
Y con esto podría haber comprado un libro sin coste alguno.
Me gustó mucho explotar esta SQLi aunque sea muy sencilla por el efecto que tendría en la web y por el hecho de que haya sido en un entorno real, algo a lo que no estoy muy acostumbrado.
Ha sido una entrada cortita pero creo que bastante interesante ya que no suelo enseñaros cosas descubiertas en entornos reales. Aprovecho para felicitaros la Navidad y de paso, ya que con el ritmo que llevo no sé cuándo será la siguiente entrada, el feliz año nuevo. ¡Hasta la próxima!
Buena loco!!!!! a seguir ahora no hay mas N/A mejor un duplicado o un bug reportado con la ley.
ResponderEliminarGracias Snifer! Ya llevo mejor lo de reportar xD
ResponderEliminar