Door
Danny von Gaal
op 17-03-2018 12:24
gewijzigd op 17-03-2018 12:25
2.791 views
Hallo,
Ik ben bezig met het bouwen van een app via phonegap die Ajax Requests naar mijn backend server stuurt en hier gegevens ophaalt. Mijn backend server is alleen maar beschikbaar over port 443 (https) en al mijn ajax requests stuur ik ook naar deze url https://....
Ik dacht altijd dat alle posts en de informatie erin van en naar mijn server dus beveiligd/encrypted was. Nou heb ik eens Fiddler geïnstalleerd om dit te verifiëren maar tot mijn verbazing kan ik alles gewoon uitlezen.
Nou vraag ik mij af of dit komt omdat fiddler op mijn client waar de app draait is geïnstalleerd en dus ook de handshake kan uitvoeren met de server. Of kan het zijn doordat alle gegevens van mijn app eerst door fiddler gaan en daarna pas naar mijn server via https? Of is het gewoon echt te lezen voor kwaadwillende buiten mijn pc om? (sniffing)
Ik hoor graag jullie mening want in fiddler worden mijn posts ook gewoon als http weergeven.
Ik ken Fiddler zelf niet, maar ik lees dus dit:
"Fiddler is a free web debugging tool which logs all HTTP(S) traffic between your computer and the Internet."
Het lijkt dus als een 'Man in the Middle' te zitten om (encrypted) data te kunnen onderscheppen voor debugging. Ik weet niet zeker, maar ik denk wel dat als je dit gebruikt, dat je het groene slotje opeens rood of geel zal worden.
HTTPS is verder wel bedoeld om requests op het internet veiliger te maken, maar als je computer geprepareerd/voorzien is met zulke proxy's dan is een MITM-attack eenvoudig te realiseren. Maar alles wat je router passeert zonder problemen kan ook niet zo snel geëncrypt worden. Dat is de intentie van SSL/TLS.
Bedankt voor je geruststellende berichtje. Ken je een andere programma waar ik dit mee kan testen? En het is toch waar dat niet alleen de post encrypt is maar ook de info die ik terug krijg? Of heb ik dat mis?
Het is aan jou om op grond van de versie die je gebruikt (die je niet vermeldt) na te gaan of dit allemaal klopt, maar het bovenstaande heb ik in < 10 mins bij elkaar geGoogled...
Daarnaast plaats je allemaal vraagtekens bij zaken "further down the line", iets wat je eerst met 100% zekerheid zou moeten vaststellen is of je uitsluitend via HTTPS communiceert. Pas als je dat zeker weet kun je verder gaan kijken naar wat er voor de rest aan de hand is.
Maar om na te gaan of een programma HTTPS kan decrypten als dat in de specs staat dat deze dat kan doen... Wellicht is dan een betere vraag: HOE kan Fiddler mijn HTTPS verkeer lezen?
EDIT: en zoals @Dennis aangeeft: een echt "extern" programma die gewoon je netwerkverkeer snifft (dit is volgens mij de voornaamste taak van WireShark) lijkt mij dan ook een goede / betere testtool.
Inderdaad, Fiddler is een proxy waar je data doorheen stroomt.
Zoals al aangegeven is heeft fiddler zn eigen certificaat.
En word de data aan jouw kant vervangen met dit certificaat, en kan Fiddler dit ‘decrypten’ en dus inzien.
Ik ben niet bekend met Fiddler, maar wel het concept icm MITM, en is de data vanaf Fiddler naar de site wel weer met de site zn eigen certificaat encrypted.
Wireshark is inderdaad een veelal gebruikte tool, door IT medewerkers maar ook hackers etc.
Hiermee heb je beter inzicht wat er gebeurt op het netwerk.
Dit zonder tussenkomst van een proxy/tunnel/forwarder zoals Fiddler dit doet.
Thanks, ik heb wireshark geïnstalleerd en die geeft inderdaad het gewenste resultaat. Ik heb een trace naar een http:// site vergeleken met gegevens die ik ophaal in mijn app en die zijn allemaal encrypted.
Wanneer ik op string zoek naar postdata dat ik mee stuur dan kan ik nergens de waardes uitlezen. :)