Google Maps reversato, questa e' la soluzione del primo LugVR Contest con argomento: reverse di Google Maps. Visita l'articolo di inizio contest per maggiori informazioni. Nota: questo reverse di Google Maps e' stato effettuato da zero, ignorando le altre risorse sull'argomento, che comunque trovate listate a fondo articolo.
LUGVR CONTEST 01 SOLUTION
0) Prefazione
1) Identificare le risorse
2) Analisi del traffico
3) Conclusioni
4) Reverse
5) Prototipo
6) Risultato finale
0) Prefazione
Questa e' la soluzione del primo LugVR Contest con argomento: reverse di Google Maps. Visita l'articolo di inizio contest per maggiori informazioni.
1) Identificare le risorse
Come gia' detto le modalita' sono tre: Map, Satellite e Hybrid.
Nota: Google maps disabilita il click destro nell'area della mappa.
Dato che visualizziamo l'immagine nel broswer questa deve essere caricata e il browser deve conoscere l'url. Useremo la funzionalita' Page Info di Firefox.
Iniziamo dalle immagini di Map: ScreenShot009
Prosegiuiamo con Satellite: ScreenShot010
Per finire con Hybrid: ScreenShot011 ScreenShot012
Gli url ricavati sono:
http://mt0.google.com/mt?n=404&v=w2.11&x={X}&y={Y}&zoom=0 per Map
http://mt3.google.com/mt?n=404&v=w2t.5&x={X}&y={Y}&zoom=0 per Hybrid
http://kh1.google.com/kh?n=404&v=6&t={SECRET} per Satellite
Il funzionamento di Map e Hybrid e' molto simile mentre Satellite utilizza un url offuscato. Google Maps utilizza diversi server per distribuire le immagini delle mappe, il round robin e' gestito da javascript (urgh).
La discrimimamte tra Map e Hybrid e' il parametro v, al pari Satellite necessita del parametro v ma viene invocato da server differenti ed utilizzando un'API differente.
http://www_ush_it/team/ascii/hack-gmaps/gdump2.txt
2) Analisi del traffico
Sempre utilizzando Firefox ed alcuni suoi plugin si procede con l'analisi del traffico per verificare se quanto ipotizzato nella fase 1
corrisponde a verita' e se sono in essere altre protezioni (controlli sui cookie, controllo sui referer, anti-tampering delle richieste,
script proattivi di analisi delle richieste* e altre diabolerie che si possono fare a livello Application.
*es: Un approccio statistico (Anomaly Detection System), se un'url non e' stata mai richiesta o viene richiesta in percentuali bassissime puo' essere un tentativo di tampering (modifica) o un attacco. Quanti ad esempio richiedono /page.asp?id=' UNION .. o /page.asp?id=