An adversary embeds one or more null bytes in input to the target software. This attack relies on the usage of a null-valued byte as a string terminator in many environments. The goal is for certain components of the target software to stop processing the input when it encounters the null byte(s).
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
-
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.IT: Utilizza uno strumento di spidering per seguire e registrare tutti i link e analizzare le pagine web per individuare punti di ingresso. Prendi nota in modo particolare di eventuali link che includono parametri nell'URL.
-
Manually inspect the application to find entry points.IT: Utilizza uno strumento di spidering per seguire e registrare tutti i link e analizzare le pagine web per individuare punti di ingresso. Prendi nota in modo particolare di eventuali link che includono parametri nell'URL.
-
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: Utilizza uno strumento di spidering per seguire e registrare tutti i link e analizzare le pagine web per individuare punti di ingresso. Prendi nota in modo particolare di eventuali link che includono parametri nell'URL.
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) 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
[Individuare i punti di ingresso per localizzare vulnerabilità] L'attore malevolo utilizza i punti di ingresso raccolti nella fase "Explore" come lista di obiettivi e inietta byte null postfix per osservare come l'applicazione li gestisce come input. L'attaccante 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 al termine dell'input utente.
Prova diverse codifiche per null come \0 o %00
Attack Techniques
-
Try different encodings for null such as \0 or %00
Step 3
Exploit[Remove data after null byte(s)] After determined entry points that are vulnerable, the adversary places a null byte(s) such that they 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) at the end of the input to try to traverse to the given directory.
[Rimuovi i dati dopo il/i byte(s) nullo(i)] Dopo aver individuato i punti di ingresso vulnerabili, l'avversario inserisce uno o più byte nulli in modo da rimuovere i dati successivi al/i byte nullo(i) in una maniera vantaggiosa per lui.
Se l'input è una directory come parte di un percorso file più lungo, aggiungi uno o più byte nulli 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) at the end of the input to try to traverse to the given directory.