An adversary corrupts or modifies the content of a schema for the purpose of undermining the security of the target. Schemas provide the structure and content definitions for resources used by an application. By replacing or modifying a schema, the adversary can affect how the application handles or interprets a resource, often leading to possible denial of service, entering into an unexpected state, or recording incomplete data.
Description
Attack Execution Flow
Step 1
Explore[Find target application and schema] The adversary first finds the application that they want to target. This application must use schemas in some way, so the adversary also needs to confirm that schemas are being used.
Gain access to the system that the application is on and look for a schema.
Observe HTTP traffic to the application and look for a schema being transmitted.
[Trova applicazione target e schema] L'attore malevolo individua prima l'applicazione che desidera prendere di mira. Questa applicazione deve utilizzare schemi in qualche modo, quindi l'attaccante deve anche confermare che gli schemi siano effettivamente utilizzati.
Ottieni l'accesso al sistema su cui si trova l'applicazione e cerca uno schema.
Osserva il traffico HTTP verso l'applicazione e cerca uno schema che venga trasmesso.
Attack Techniques
-
Gain access to the system that the application is on and look for a schema.
-
Observe HTTP traffic to the application and look for a schema being transmitted.IT: Ottenere l'accesso al sistema su cui è in esecuzione l'applicazione e cercare uno schema.
Step 2
Experiment[Gain access to schema] The adversary gains access to the schema so that they can modify the contents.
For a local scenario, the adversary needs access to the machine that the schema is located on and gain permissions to alter the contents of the schema file.
For a remote scenario, the adversary needs to be able to perform an adversary in the middle attack on the HTTP traffic that contains a schema.
[Ottenere accesso allo schema] L'attore malevolo ottiene accesso allo schema in modo da poter modificare i contenuti.
In uno scenario locale, l'attaccante necessita di accesso alla macchina su cui si trova lo schema e di ottenere permessi per modificare i contenuti del file dello schema.
In uno scenario remoto, l'attaccante deve essere in grado di eseguire un attacco man-in-the-middle sul traffico HTTP che contiene uno schema.
Attack Techniques
-
For a remote scenario, the adversary needs to be able to perform an adversary in the middle attack on the HTTP traffic that contains a schema.
-
For a local scenario, the adversary needs access to the machine that the schema is located on and gain permissions to alter the contents of the schema file.IT: Per uno scenario remoto, l'avversario deve essere in grado di eseguire un attacco man-in-the-middle sull traffico HTTP che contiene uno schema.
Step 3
Exploit[Poison schema] Once the adversary gains access to the schema, they will alter it to achieve a desired effect. Locally, they can just modify the file. For remote schemas, the adversary will alter the schema in transit by performing an adversary in the middle attack.
Cause a denial of service by modifying the schema so that it does not contain required information for subsequent processing.
Manipulation of the data types described in the schema may affect the results of calculations. For example, a float field could be changed to an int field.
Change the encoding defined in the schema for certain fields allowing the contents to bypass filters that scan for dangerous strings. For example, the modified schema might use a URL encoding instead of ASCII, and a filter that catches a semicolon (;) might fail to detect its URL encoding (%3B).
[Poison schema] Una volta che l'adversary ottiene l'accesso allo schema, lo altererà per ottenere l'effetto desiderato. Localmente, può semplicemente modificare il file. Per gli schema remoti, l'adversary altererà lo schema in transito eseguendo un attacco man-in-the-middle.
Causare un denial of service modificando lo schema in modo che non contenga le informazioni richieste per l'elaborazione successiva.
La manipolazione dei tipi di dati descritti nello schema può influire sui risultati dei calcoli. Ad esempio, un campo float potrebbe essere modificato in un campo int.
Modificare la codifica definita nello schema per alcuni campi, consentendo ai contenuti di bypassare i filtri che cercano stringhe pericolose. Ad esempio, lo schema modificato potrebbe usare una codifica URL invece di ASCII, e un filtro che rileva un punto e virgola (;) potrebbe non rilevare la sua codifica URL (%3B).
Attack Techniques
-
Change the encoding defined in the schema for certain fields allowing the contents to bypass filters that scan for dangerous strings. For example, the modified schema might use a URL encoding instead of ASCII, and a filter that catches a semicolon (;) might fail to detect its URL encoding (%3B).
-
Cause a denial of service by modifying the schema so that it does not contain required information for subsequent processing.IT: Modifica la codifica definita nello schema per alcuni campi consentendo ai contenuti di bypassare i filtri che scansionano le stringhe pericolose. Ad esempio, lo schema modificato potrebbe utilizzare una codifica URL invece di ASCII, e un filtro che rileva un punto e virgola (;) potrebbe non individuare la sua codifica URL (%3B).
-
Manipulation of the data types described in the schema may affect the results of calculations. For example, a float field could be changed to an int field.IT: Modifica la codifica definita nello schema per alcuni campi consentendo ai contenuti di bypassare i filtri che scansionano le stringhe pericolose. Ad esempio, lo schema modificato potrebbe utilizzare una codifica URL invece di ASCII, e un filtro che rileva un punto e virgola (;) potrebbe non individuare la sua codifica URL (%3B).