IT knowledge base
CTRL+F per cercare la tua parola chiave

Calcoliamo l'indirizzo esatto di qualsiasi utente tramite numero di telefono o indirizzo e-mail

Con l'aiuto di queste istruzioni, puoi facilmente calcolare l'indirizzo esatto (via, numero civico, numero di appartamento) di qualsiasi persona che utilizza i servizi del provider Internet InterZet (o DomRU).

sfondo

L'8 dicembre 2017 è stata rilasciata una nuova versione dell'app iOS. Il design è stato aggiornato al suo interno, i difetti minori sono stati corretti, ecc. eccetera. Dopo aver scaricato l'applicazione sul mio telefono, ho riscontrato un problema: non è stato possibile superare la procedura di autenticazione. Ho provato a inserire il numero del contratto, il numero di telefono e l'e-mail nel campo di accesso - niente ha aiutato, tutti i tentativi sono falliti.
Immagine
Il problema è stato osservato solo nell'applicazione, il sito ha funzionato (e funziona) perfettamente - lasciami andare completamente. Il messaggio di errore non è molto informativo. Che cosa è andato storto?

Analisi del traffico delle applicazioni

Per stabilire perché il nostro paziente non vuole vivere, utilizzeremo il programma mitmproxy. Ci permetterà di vedere la comunicazione tra l'applicazione e il server.
Proviamo ad autenticarci per ricevere la richiesta del client e la risposta del server.
A giudicare dalla risposta, viene passato un timestamp non valido:
Immagine
Andiamo a vedere la richiesta:
Immagine
Il campo "timestamp $ c" contiene l'ora in cui è stata inviata la richiesta. Non capisco perché fidarsi del cliente in queste cose?

Soluzione al problema

Gli sviluppatori non hanno tenuto conto del fatto che le persone utilizzano formati temporali diversi; timestamp viene generato in modo errato se è impostato il formato a 12 ore (come nel mio caso), quindi la richiesta non può essere verificata sul server. Cambiamo il formato di visualizzazione dell'ora nelle impostazioni del telefono su 24 ore e superiamo con successo l'autenticazione. L'unica differenza tra le richieste è che non c'è AM / PM nel timestamp nel formato 24 ore.
Una richiesta valida ha questo aspetto:
Immagine
Calcolato per numero di telefono o indirizzo e-mail
Analizzando il traffico dell'applicazione in fase di autenticazione, mi sono imbattuto in un difetto molto interessante nel sistema. Comportamento non corretto della funzione "recupera password". Dà informazioni molto interessanti.
La richiesta si presenta così:
Immagine
Siamo interessati al parametro " param_values_arr $ c ".
  • Se trasferisci il numero dell'accordo dell'utente dei servizi Interzet / DomRU in esso, riceveremo i dati di contatto collegati all'accordo: numero di telefono, indirizzo e-mail.
  • Se gli passiamo un numero di telefono o un indirizzo e-mail, nella risposta vedremo l'indirizzo esatto dell'utente.
Esempio di risposta:
Immagine
Vediamo l'indirizzo esatto del nostro appartamento, capiamo che questo è un fiasco e sorridiamo e salutiamo anche noi!
PS : tutto funziona correttamente sul sito, a quanto pare, l'indirizzo è chiuso con asterischi :)
A proposito, a giudicare dagli errori generati dal server in assenza di un utente nel database, la modalità debug è abilitata sul server. Non capisco perchè?
<debug>
      <![CDATA[debug$n=24: exception: ORA-20001: debug=2   backtrace: ORA-06512: at "EXCELLENT3.WEBCAB_XML_PROC", line 6264 ORA-06512: at line 1 ORA-06512: at "EXCELLENT3.WEB_CABINET", line 1064 ]]>
      </debug>
Come ripetere?
Sospetto che ogni città abbia il proprio database e URL. Di seguito è riportato un esempio per la città di San Pietroburgo.
Richiesta semplice tramite cURL:
curl "https://spb.db.ertelecom.ru/cgi-bin/ppo/es_webface/web_cabinet.get_info\
?param_names_arr%24c=client_contact\
&param_values_arr%24c=habr@example.com\
&params=get_agr_list_contact_xml"
Cambia habr@example.com con il numero di telefono o l'indirizzo e-mail richiesto.
AGGIORNAMENTO: Il problema è stato risolto, ora l'indirizzo è coperto da asterischi.
Tutte le informazioni sono fornite solo a scopo informativo. Non sono responsabile per eventuali danni o danni causati dai materiali in questo articolo.