Si te entiendo bien ... Imagina que espío tu Javascript interno por un tiempo. Imagina que soy capaz de buscar lo siguiente:
-
DeleteUserRecord()
-
UpdateUserRecord()
Y en cada uno, estás haciendo coincidir estas ID con la clave principal en la base de datos. Por ejemplo, su código excita esto: DELETE [record] FROM [table] WHERE [id] = '1234'
, y su Javascript se ve así: DeleteUser(1234)
. ¿Qué pasa si lo cambio a 1
? ¿Qué pasa si elimino todos los usuarios? ¿Qué sucede si elimino el primer usuario? ¿Quién podría ser el admin
?
¿O qué sucede si se me permitiera actualizar el registro de un solo usuario, pero cambio la ID a 1
y make myself the admin
? UpdateUser(1)
en lugar de UpdateUser(1234)
Parece que su código podría ser vulnerable a un referencia directa de objetos exploit.
Todo lo que necesito hacer es manipular tu solicitud de javascript y eres TeH PwNz0rEd. Prueba leyendo este hilo para una mejor explicación.