es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿El fragmento de código siguiente es vulnerable a la inyección de SQL en Rails 5?

¿Este fragmento de código es vulnerable a la inyección de SQL en Rails 5 si el parámetro order no está sanitizado? He intentado probarlo utilizando el ejemplo proporcionado en https://rails-sqli.org/rails5, pero se genera una excepción ActiveRecord::UnknownAttributeReference. ¿Significa eso que el código está seguro contra SQLi?

@exports = Export.for_public.order(params[:order] || 'created_at DESC').page(params[:page])
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Es posible que este fragmento de código sea vulnerable a la inyección de SQL en Rails 5 si el parámetro de orden no es correctamente sanitizado. El hecho de que se genere una excepción ActiveRecord::UnknownAttributeReference al probar con un ejemplo conocido de inyección de SQL de rails-sqli.org no necesariamente significa que el código esté seguro contra SQLi. Es posible que la excepción se genere debido a que el intento de inyección rompa la sintaxis de la instrucción SQL, en lugar de ser bloqueado por una sanitización adecuada de la entrada de datos. Es importante asegurarse de que toda entrada de usuario sea correctamente sanitizada para prevenir ataques de inyección de SQL.

Comments are closed.