If a string is passed through a filter of some kind, then a terminal NULL may not be valid. Using alternate representation of NULL allows an adversary to embed the NULL mid-string while postfixing the proper data so that the filter is avoided. One example is a filter that looks for a trailing slash character. If a string insertion is possible, but the slash must exist, an alternate encoding of NULL in mid-string may be used.
Description
Attack Execution Flow
Step 1
Explore[Survey the application for user-controllable inputs] Using a browser, an automated tool or by inspecting the application, an adversary records all entry points to the application.
Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
Use a proxy tool to record all user input entry points visited during a manual traversal of the web application.
Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.
Manually inspect the application to find entry points.
[Survey the application for user-controllable inputs] Utilizzando un browser, uno strumento automatizzato o ispezionando l'applicazione, un adversary registra tutti i punti di ingresso dell'applicazione.
Utilizza uno strumento di spidering per seguire e registrare tutti i link e analizzare le pagine web per individuare i punti di ingresso. Prendi nota in particolare di eventuali link che includono parametri nell'URL.
Utilizza uno strumento proxy per registrare tutti i punti di ingresso di input utente visitati durante una navigazione manuale dell'applicazione web.
Utilizza un browser per esplorare manualmente il sito e analizzare come è strutturato. Sono disponibili numerosi plugin per browser che facilitano l'analisi o automatizzano la scoperta.
Ispeziona manualmente l'applicazione per trovare i punti di ingresso.
Attack Techniques
-
Manually inspect the application to find entry points.
-
Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.IT: Ispeziona manualmente l'applicazione per individuare i punti di ingresso.
-
Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.IT: Ispeziona manualmente l'applicazione per individuare i punti di ingresso.
-
Use a proxy tool to record all user input entry points visited during a manual traversal of the web application.IT: Ispeziona manualmente l'applicazione per individuare i punti di ingresso.
Step 2
Experiment[Probe entry points to locate vulnerabilities] The adversary uses the entry points gathered in the 'Explore' phase as a target list and injects postfix null byte(s) followed by a backslash to observe how the application handles them as input. The adversary is looking for areas where user input is placed in the middle of a string, and the null byte causes the application to stop processing the string at the end of the user input.
Try different encodings for null such as \0 or %00 followed by an encoding for the backslash character.
[Individuare i punti di ingresso per individuare vulnerabilità] L’avversario utilizza i punti di ingresso raccolti nella fase "Explore" come lista di obiettivi e inietta byte null postfix seguiti da un backslash per osservare come l’applicazione li gestisce come input. L’avversario cerca aree in cui l’input dell’utente viene inserito nel mezzo di una stringa, e il byte null provoca l’interruzione dell’elaborazione della stringa da parte dell’applicazione al termine dell’input dell’utente.
Prova diverse codifiche per il null, come \0 o %00, seguite da una codifica per il carattere backslash.
Attack Techniques
-
Try different encodings for null such as \0 or %00 followed by an encoding for the backslash character.
Step 3
Exploit[Remove data after null byte(s)] After determined entry points that are vulnerable, the adversary places a null byte(s) followed by a backslash such that they bypass an input filter and remove data after the null byte(s) in a way that is beneficial to them.
If the input is a directory as part of a longer file path, add a null byte(s) followed by a backslash at the end of the input to try to traverse to the given directory.
[Rimuovi i dati dopo byte nulli] Dopo aver determinato i punti di ingresso vulnerabili, l'attore adversario inserisce uno o più byte nulli seguiti da una backslash in modo da bypassare un filtro di input e rimuovere i dati dopo i byte nulli in una maniera vantaggiosa per lui.
Se l'input è una directory come parte di un percorso di file più lungo, aggiungi uno o più byte nulli seguiti da una backslash alla fine dell'input per cercare di attraversare fino alla directory indicata.
Attack Techniques
-
If the input is a directory as part of a longer file path, add a null byte(s) followed by a backslash at the end of the input to try to traverse to the given directory.