¿Este parámetro es vulnerable a la inyección SQL?

1

El servidor backend está ejecutando Tomcat 8.5 (backend Java). La URL en cuestión es:

https://website.com/application/servlet.do?currentOID=abc12300000000

Encontré que cuando doy un OID incompleto (es decir, 1 char quita), o agrego un char (es decir, un o '), el servidor lanza un error:

org.apache.ojb.broker.PersistenceBrokerSQLException: SQL failure while insert object data for class com.abc, PK of the given object is [ oid=CBA000000AAAAA], object was GroupPageTab CBA000000AAAAA, exception message is [String or binary data would be truncated.]
    at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:243)
    at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:1642)
    at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1557)
    at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1506)
    ...

y el OID CBA000000AAAAA, cambia cuando se cambia currentOID. ¿Parece que puede ser vulnerable a la inyección? No tengo experiencia en JDBC, así que no estoy seguro.

    
pregunta Rob Gates 30.08.2018 - 15:39
fuente

1 respuesta

4

No, el error no indica la inyección de SQL.

  

Se truncarán los datos de cadena o binarios.

Esto significa que los datos que intenta insertar son demasiado grandes para la columna. Si la columna es de tipo CHAR (10), puede almacenar 10 bytes en ella. Si intentas almacenar 20 bytes en él, obtendrás este error. Esto puede suceder incluso si los datos se manejan correctamente y la página no es vulnerable a la inyección de SQL.

    
respondido por el Sjoerd 30.08.2018 - 16:17
fuente

Lea otras preguntas en las etiquetas