If ServerMiHaDatoOk Then
FaccioQuesto
Else
msg("non autorizzato","")
End If
e pure a noi programmatori, peròscrivete codice confusionario e pieno di GoTo cosi all'hacher viene una crisi di nervi
Potrebbe cmq hackerare l'app ed inviare (non gli interessa sapere dove e quale sia il server) qualunque comando falso.In più, disassemblando l'apk si troverebbe solo il riferimento al dispatcher e non al server destinatario dei comandi per una determinata azienda.
Sniffer.e in fase di login invia in https una terna: utente, password (md5/sh256) e codice azienda
Potrebbe cmq hackerare l'app ed inviare (non gli interessa sapere dove e quale sia il server) qualunque comando falso.
Lo scopo della terna non è rendere più sicura l'autenticazione. Come dicevo uno dei punti deboli è la trasmissione dei dati e l'utilizzo del protocollo https aiuta in questo senso, ma nulla impedisce di adottare altre misure, dalla crittazione all'invio frammentato dei dati.Sniffer.
No. Lo scopo dei due server è proprio questo. Disassemblata l'app ottieni l'indirizzo del dispatcher e quindi di un server che non è deputato a ricevere comandi diversi dalla sola fase di autenticazione. Quello che potresti fare è inviare infinite triple finchè non scopri una combinazione valida e quindi essere in grado, da quel momento, di impersonare uno specifico utente di una specifica azienda (o comunque riferito a ciò che significhi il terzo parametro).
... snip
Da questo momento per interagire con il DB dell'azienda "tre" invio comandi e richieste a 154.33.12.12, indirizzo che non potevi ricavare disassemblando l'apk.
Lo scopo della terna non è rendere più sicura l'autenticazione. Come dicevo uno dei punti deboli è la trasmissione dei dati e l'utilizzo del protocollo https aiuta in questo senso, ma nulla impedisce di adottare altre misure, dalla crittazione all'invio frammentato dei dati.
... snip
No. Lo scopo dei due server è proprio questo. Disassemblata l'app ottieni l'indirizzo del dispatcher e quindi di un server che non è deputato a ricevere comandi diversi dalla sola fase di autenticazione. Quello che potresti fare è inviare infinite triple finchè non scopri una combinazione valida e quindi essere in grado, da quel momento, di impersonare uno specifico utente di una specifica azienda (o comunque riferito a ciò che significhi il terzo parametro).
Es.
dispatcher attivo su 171.2.34.12
terna valida-> user: uno; password: due; azienda: tre
risposta del dispatcher: 154.33.12.12
Da questo momento per interagire con il DB dell'azienda "tre" invio comandi e richieste a 154.33.12.12, indirizzo che non potevi ricavare disassemblando l'apk.
Lo scopo della terna non è rendere più sicura l'autenticazione. Come dicevo uno dei punti deboli è la trasmissione dei dati e l'utilizzo del protocollo https aiuta in questo senso, ma nulla impedisce di adottare altre misure, dalla crittazione all'invio frammentato dei dati.
In genere non può esistere una sicurezza assoluta, ma rendere poco conveniente cercare di aggirare le protezioni si può fare. Al di là dello sfizio, credo che nessuno di noi passerebbe giornate e nottate (avendone le piene competenze) per aggirare sistemi di sicurezza a protezione di un software venduto a $1 per una base di 100/1000 utilizzatori.. senza contare l'aspetto legale della questione!
All'epoca trovavi molte guide che ti spiegavano il protocollo e come crearti un Client Alternativo e in effetti si trovavano molti di questi Client (Trillian in prima fila). QUalcuno lo trovavi realizzato in VB6 con tanto di codice sorgente. E vi posso garantire che funzionavano e ritoccando il codice riuscivi .....
(il '73 é stata un annata migliore)
e mica mi serve conoscere l'indirizzo, trovo il punto dell'app in cui inviare i comandi e li invio. Il punto è che se questi comandi sono solo un nome procedura e parametri, perché il codice eseguibile sta sul server, al massimo posso creare danni per divertimento, non per ottenere qualcosa. Ma ad esempio per un'azienda concorrente questo è già sufficiente.Da questo momento per interagire con il DB dell'azienda "tre" invio comandi e richieste a 154.33.12.12, indirizzo che non potevi ricavare disassemblando l'apk.
è questo l'aspetto che non riesco a cogliere. Guarda qui di seguito un pezzo di codice di esempioe mica mi serve conoscere l'indirizzo
Log("sync avviato")
SyncOk = False
'richiesta tabella unm aggiornata
Dim Parameters As Map
Parameters.Initialize
Dim buffer() As Byte
buffer=DBData.PrepareCommand(Parameters,25)
Dim pJob As HttpJob
pJob.Initialize("unm", Me)
pJob.PostBytes(Main.hurl&"/abc2",buffer)
Così, no? Uso Main.hurlSe non lo conosci, come fai ad inviare "ad capocchiam" il comando 25 giusto per dare fastidio?
pJob.PostBytes(Main.hurl&"/abc2",buffer)
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?