How it works

Vulnerable pattern.

  • Input is provided to the system.

  • Input is not validated, or filtered, or used in an adequate manner.

  • Input is used to build a command, statement, or trigger an action.

Why?

  • Developed fails to implement the proper methods to distinguish between specification and data.

  • If an attacker manipulates data, and said data is used to build a command, attacker controls the flow of execution.

How to avoid:

  • Never trust data from external sources.

    • Database IS an external source, as well as other internal services.

  • Never mix command specification and data.

  • Sanitize all external data.

Last updated