In applications, particularly web applications, access to functionality is mitigated by an authorization framework. This framework maps Access Control Lists (ACLs) to elements of the application's functionality; particularly URL's for web apps. In the case that the administrator failed to specify an ACL for a particular element, an attacker may be able to access it with impunity. An attacker with the ability to access functionality not properly constrained by ACLs can obtain sensitive information and possibly compromise the entire application. Such an attacker can access resources that must be available only to users at a higher privilege level, can access management sections of the application, or can run queries for data that they otherwise not supposed to.
Description
Attack Execution Flow
Step 1
Explore[Survey] The attacker surveys the target application, possibly as a valid and authenticated user
Spidering web sites for all available links
Brute force guessing of resource names
Brute force guessing of user names / credentials
Brute force guessing of function names / actions
[Survey] L'attaccante esegue una ricognizione sull'applicazione target, possibilmente come utente autenticato e valido
Indicizzazione dei siti web per tutti i link disponibili
Tentativi di forza bruta per indovinare i nomi delle risorse
Tentativi di forza bruta per indovinare nomi utente / credenziali
Tentativi di forza bruta per indovinare nomi di funzioni / azioni
Attack Techniques
-
Spidering web sites for all available links
-
Brute force guessing of resource namesIT: Indicizzazione di siti web per tutti i link disponibili
-
Brute force guessing of user names / credentialsIT: Indicizzazione di siti web per tutti i link disponibili
-
Brute force guessing of function names / actionsIT: Indicizzazione di siti web per tutti i link disponibili
Step 2
Explore[Identify Functionality] At each step, the attacker notes the resource or functionality access mechanism invoked upon performing specific actions
Use the web inventory of all forms and inputs and apply attack data to those inputs.
Use a packet sniffer to capture and record network traffic
Execute the software in a debugger and record API calls into the operating system or important libraries. This might occur in an environment other than a production environment, in order to find weaknesses that can be exploited in a production environment.
[Identifica funzionalità] Ad ogni passaggio, l'attaccante annota il meccanismo di accesso alle risorse o alle funzionalità invocato eseguendo azioni specifiche
Utilizza l'inventario web di tutti i moduli e input e applica i dati di attacco a tali input.
Utilizza un packet sniffer per catturare e registrare il traffico di rete
Esegue il software in un debugger e registra le chiamate API al sistema operativo o alle librerie importanti. Questo può avvenire in un ambiente diverso da quello di produzione, al fine di individuare vulnerabilità che possono essere sfruttate in un ambiente di produzione.
Attack Techniques
-
Use the web inventory of all forms and inputs and apply attack data to those inputs.
-
Use a packet sniffer to capture and record network trafficIT: Utilizza l'inventario web di tutti i form e input e applica i dati di attacco a quegli input.
-
Execute the software in a debugger and record API calls into the operating system or important libraries. This might occur in an environment other than a production environment, in order to find weaknesses that can be exploited in a production environment.IT: Utilizza l'inventario web di tutti i form e input e applica i dati di attacco a quegli input.
Step 3
Experiment[Iterate over access capabilities] Possibly as a valid user, the attacker then tries to access each of the noted access mechanisms directly in order to perform functions not constrained by the ACLs.
Fuzzing of API parameters (URL parameters, OS API parameters, protocol parameters)
[Iterare sulle capacità di accesso] Possibilmente come utente valido, l'attaccante tenta quindi di accedere a ciascuno dei meccanismi di accesso annotati direttamente, al fine di eseguire funzioni non vincolate dalle ACL.
Fuzzing dei parametri API (parametri URL, parametri API OS, parametri di protocollo)
Attack Techniques
-
Fuzzing of API parameters (URL parameters, OS API parameters, protocol parameters)