[s3web] SicuWEB - Traduzione/sintesi slide1

  • From: Alberto Campanile <alberto.campanile@xxxxxxxxx>
  • To: s3web@xxxxxxxxxxxxx
  • Date: Wed, 17 Jun 2009 18:56:04 +0200

Ciao ragazzi,
visto che sto studiando le slide di questo corso, stavo preparando per
me una piccola sintesi/traduzione delle slide. Ho pensavo che
potessero essere utili anche a voi. Se trovate errori o imprecisioni
fatemelo sapere.

Ciao da Alberto
Information Gathering

La prima fase di accertamento della sicurezza di una web application è 
focalizzata sull'acquisizione di informazioni relative al target. OWASP per 
questa fase ha definito sei differenti task (OWASP-IG-001/006).

OWASP-IG-001 (Spiders, robots, Crawlers) : Verifica del file "robots.txt" 
utilizzato per guidare correttamente i Crawlers per l'indicizzazione di siti 
web.

        SessionLab01. Utilizzando "Google Webmaster Tool" verificare l'errore 
presente nel file "robots.txt" di "www.wikipedia.com"

OWASP-IG-002 : I motori di ricerca possono essere utilizzati per determinare 
problemi relativi alla struttura di applicazioni web o pagine di errore 
prodotte dall'applicazione (che sono pubblicamente esposti). Ad esempio con 
google è possibile restringere i risultati della ricerca di un sito 
(utilizzando site:example.com) oppure vedere la copia cache (utilizzando 
cache:example.com).

OWASP-IG-003 (Identificazione entry point dell'applicazione) : Prima di 
effettuare test è sempre bene conoscere e capire il funzionamento 
dell'applicazione, avendo una visione di come l'applicazione comunica con 
l'utente/browser. In particolare bisogna porre attenzione a tutte le richieste 
HTTP (Metodi GET e POST), utilizzate per passare paramentri all'applicazione 
dai campi form. Il metodo GET è il più utilizzato, ma quando si scambiano 
informazioni sensibili spesso si usa il metodo POST. Per poter vedere ed 
analizzare i parametri passati con il metodo POST è necessario utilizzare tool 
come un intercepting proxy (p.e WebScarab di OWASP) o un plug-in per browser 
(p.e. Tamper Data)

        SessionLab02. Utilizzando "Tamper Data" analizzare il traffico dati 
effettuando il log-in alla propria webmail.

OWASP-IG-004 (Identificazione mediante fingerprinting del Web Server) : Questo 
test permette di determinare il tipo e la versione del Web Server utilizzato 
dall'applicazione web in modo tale da determinare le sue vulnerabilità note, al 
fine di sfruttare possibili exploit nei test successivi. 
TOOL : http://www.netcraft.com - http://net-square.com/httprint/index.shtml 
(TOOL UTILIZZATO : HTTPPRINT). 

        SessionLab03. Utilizzando "HTTPPRINT" testarne l'utilizzo su più target.
                      es.  ./httprint -h [IP_host] -s [file_con_firme.txt] -o 
[RisultatoOutput.html] -th [#thread utilizzati] -r [#retry] -P0 (per evitare il 
timeout)

OWASP-IG-005 (Identificazione servizi di un'applicazione web) : Questo test 
permette di determinare quali servizi/programmi sono ospitati, attivi e 
accessibili su un'applicazione web. Molte applicazioni hanno vulnerabilità e 
strategie di attacco note. Per tale motivo possono essere utilizzate per 
ottenere il controllo da remoto o per prelevare dati sensibili. In più, molte 
applicazioni sono spesso mal configurate o non aggiornate, oppure possono dare 
la percezione di poter essere utilizzate solo "internamente" e che quindi non 
vi sono minacce esistenti. (TOOL UTILIZZATO : NMAP).

        SessionLab04. Utilizzare "NMAP" su più target per scoprire i 
servizi/applicazioni attivi sulle porte aperte.
                      es. nmap -st (non ricordo a che serve) -p0-65535 
(intervallo porte su cui effettuare lo scan) www.example.com

OWASP-IG-006 (Analisi dei codici di errore) : Spesso durante un "penetration 
test" di una web application andiamo incontro a molti codici di errore generati 
da applicazioni o dai web server (a causa del opzione di debug attiva). E' 
possibile causare errori effettuando particolari richieste create mediante tool 
automatizzati oppure manualmente. Questi codici di errore sono molto utili al 
tester in quanto possono rivelare molte informazioni relative a database, bug e 
agli altri componenti direttamente collegati alla web application. In questa 
sezione sono analizzati i più comuni codici di errori (messaggi d'errore).

Un errore comune è "HTTP 404 Not Found" che può essere generato effettuando la 
richiesta di una pagina non esistente. Spesso questo codice di errore 
restituisce informazioni utili sui componeti fondamentali del web server:
                Not Found
                The requested URL /page.html was not found on this server.
                Apache/2.2.3 (Unix) mod_ssl/2.2.3 OpenSSL/0.9.7g DAV/2 
PHP/5.1.2 Server at
                localhost Port 80

Altre informazioni utili possono essere scoperte da errori di autenticazione. 
In questo caso, l'autenticazione fallisce fino a quando le credenziali non sono 
inserite. Nell'esempio è mostrato un codice di errore che sottolinea il tipo di 
firewall che protegge la web application.
                Error 407
                FW1 at <firewall>: Unauthorized to access the document.
                Authorization is needed for FW1.
                The authentication required by FW1 is: unknown.
                Reason for failure of last attempt: no user

Other related posts: