An adversary, aware of an application's location (and possibly authorized to use the application), probes an application's structure and evaluates its robustness by submitting requests and examining responses. Often, this is accomplished by sending variants of expected queries in the hope that these modified queries might return information beyond what the expected set of queries would provide.
Description
Attack Execution Flow
Step 1
Explore[Determine parameters] Determine all user-controllable parameters of the application either by probing or by finding documentation
[Determina i parametri] Identifica tutti i parametri controllabili dall'utente dell'applicazione, sia tramite probing che tramite ricerca di documentazione
Step 2
Experiment[Cause error condition] Inject each parameter with content that causes an error condition to manifest
[Indurre condizione di errore] Iniettare in ogni parametro contenuto che provochi la manifestazione di una condizione di errore
Step 3
Experiment[Modify parameters] Modify the content of each parameter according to observed error conditions
[Modifica parametri] Modifica il contenuto di ciascun parametro in base alle condizioni di errore osservate
Step 4
Exploit[Follow up attack] Once the above steps have been repeated with enough parameters, the application will be sufficiently mapped out. The adversary can then launch a desired attack (for example, Blind SQL Injection)
[Attacco di follow-up] Una volta ripetuti i passaggi sopra con un numero sufficiente di parametri, l'applicazione sarà sufficientemente mappata. L'avversario può quindi lanciare un attacco desiderato (ad esempio, Blind SQL Injection)