An attacker sends a series of probes to a web application in order to elicit version-dependent and type-dependent behavior that assists in identifying the target. An attacker could learn information such as software versions, error pages, and response headers, variations in implementations of the HTTP protocol, directory structures, and other similar information about the targeted service. This information can then be used by an attacker to formulate a targeted attack plan. While web application fingerprinting is not intended to be damaging (although certain activities, such as network scans, can sometimes cause disruptions to vulnerable applications inadvertently) it may often pave the way for more damaging attacks.
Description
Attack Execution Flow
Step 1
Explore[Request fingerprinting] Use automated tools or send web server specific commands to web server and wait for server's response.
Use automated tools or send web server specific commands to web server and then receive server's response.
[Request fingerprinting] Utilizza strumenti automatizzati o invia comandi specifici al server web e attende la risposta del server.
Utilizza strumenti automatizzati o invia comandi specifici al server web e successivamente ricevi la risposta del server.
Attack Techniques
-
Use automated tools or send web server specific commands to web server and then receive server's response.
Step 2
Experiment[Increase the accuracy of server fingerprinting of Web servers] Attacker usually needs to send several different commands to accurately identify the web server. Attacker can also use automated tools to send requests to the server. The responses of the server may be different in terms of protocol behavior.
Observe the ordering of the several HTTP response headers. The ordering of the header of each server may have unique identities.
Send bad requests or requests of nonexistent pages to the server.
Attacker takes existing automated tools to recognize the type and the version of the web server in use.
[Migliorare la precisione del fingerprinting dei server Web] L'attaccante di solito deve inviare diversi comandi per identificare accuratamente il server web. L'attaccante può anche utilizzare strumenti automatizzati per inviare richieste al server. Le risposte del server possono differire in termini di comportamento del protocollo.
Osservare l'ordinamento di diversi header di risposta HTTP. L'ordinamento degli header di ciascun server può avere identità uniche.
Inviare richieste malformate o richieste di pagine inesistenti al server.
L'attaccante utilizza strumenti automatizzati esistenti per riconoscere il tipo e la versione del server web in uso.
Attack Techniques
-
Attacker takes existing automated tools to recognize the type and the version of the web server in use.
-
Observe the ordering of the several HTTP response headers. The ordering of the header of each server may have unique identities.IT: L'attaccante utilizza strumenti automatizzati esistenti per riconoscere il tipo e la versione del web server in uso.
-
Send bad requests or requests of nonexistent pages to the server.IT: L'attaccante utilizza strumenti automatizzati esistenti per riconoscere il tipo e la versione del web server in uso.
Step 3
Experiment[Identify Web Application Software] After the web server platform software has been identified, the attacker start to identify web application technologies such as ASP, .NET, PHP and Java on the server.
Examine the file name extensions in URL, for example .php indicates PHP script interfaced with Apache server.
Examine the HTTP Response Headers. This may leak information about software signatures
Examine Cookies that may contain server's software information.
Check error pages.
[Identificare il Software delle Web Application] Dopo aver identificato il piattaforma software del server web, l'attaccante inizia a identificare le tecnologie delle web application come ASP, .NET, PHP e Java sul server.
Esamina le estensioni dei nomi dei file negli URL, ad esempio .php indica uno script PHP interfacciato con il server Apache.
Esamina le intestazioni delle risposte HTTP. Queste potrebbero rivelare informazioni sulle firme del software.
Esamina i cookie che potrebbero contenere informazioni sul software del server.
Controlla le pagine di errore.
Attack Techniques
-
Examine the file name extensions in URL, for example .php indicates PHP script interfaced with Apache server.
-
Examine Cookies that may contain server's software information.IT: Esamina le estensioni dei nomi dei file negli URL, ad esempio .php indica uno script PHP interfacciato con il server Apache.
-
Examine the HTTP Response Headers. This may leak information about software signaturesIT: Esamina le estensioni dei nomi dei file negli URL, ad esempio .php indica uno script PHP interfacciato con il server Apache.
-
Check error pages.IT: Esamina le estensioni dei nomi dei file negli URL, ad esempio .php indica uno script PHP interfacciato con il server Apache.
Step 4
Experiment[Identify Backend Database Version] Determining the database engine type can assist attackers' attempt to successfully execute SQL injection. Some database API such as ODBC will show a database type as part of the driver information when reporting an error.
Use tools to send bogus SQL query to the server and check error pages.
[Identificare la versione del database backend] Determinare il tipo di motore del database può aiutare gli attori malevoli nel tentativo di eseguire con successo SQL injection. Alcune API di database, come ODBC, mostreranno il tipo di database come parte delle informazioni del driver quando si verifica un errore.
Utilizzare strumenti per inviare query SQL fasulle al server e controllare le pagine di errore.
Attack Techniques
-
Use tools to send bogus SQL query to the server and check error pages.