Druk nu eens op de rechter muisknop en vervolgens op bron weergeven. De html code die de ene kant op gaan en de http request die de andere kant op gaan zijn inderdaad zo te lezen, maar voordat je weet welk stukje slaat op een rekening nummer zul je toch echt die pagina moeten parsen en dat gaat echt helemaal niet zo makkelijk als jij nu denkt. Het inlezen van de html lukt ook wel en je zou er ook nog wel wat van kunnen maken maar voordat je in 1 oogopslag kunt zien welk veld bedoeld is voor het rekening nummer en welke voor het een simpele zoek opdracht ben je toch wel ff ietsje verder. Zeker omdat de bank dit rustig aan kan passen in iets heel anders zonder dat het uiterlijk veranderd.Verwijderd schreef op 10 november 2003 @ 16:04:
[...]
Dat hoeft dus niet want de client maakt van normaal HTTP gebruik (in dit voorbeeld dan he) en jij hebt de connectie met de bank. Jij krijgt je HTML via SSL. Je hoeft dus niet de bytes te interpreteren, dat doet jouw Internet Explorer, jij hoeft alleen de HTML source, eventueel aangepast, door te sturen naar de client.
Ja, en waar moet je wat invullen. Wat is het zoek veld, welke varnaam wordt gebruikt voor het rekening nummer? Is de gebruiker nu met zijn spaar rekening bezig of doet hij een acceptgiro overschrijving? Open voor de gein eens je telebankieren pagina en sla alle pagina's eens op en probeer zelf eens een sluitende reguliere expressie te vinden die altijd het juiste resultaat oplevert. Daarnaast zul je met aangepast herhalen dit x keer moeten doen voordat je de bevestiging pagina kunt sturen waardoor die timeout weer om de hoek zou kunnen komen kijken.[...]
[
Maakt toch niet uit. Als bij een transactie 3 pagina's dienen te worden doorlopen kun jij dat als tussenlaag (man-in-the-middle) simpelweg, aangepast herhalen.
Goed, berg bytes is html of een http request. Dat is natuurlijk nog maar stap 1 van een lange weg. zie hierboven[...]
Je hoeft die berg bytes dus niet te onderscheiden. Het gaat om de uiteindelijke HTML.
Bij SSL gaat het erom dat de data die heen en weer verzonden wordt versleuteld is met 2 sleutels zodat niemand anders het kan aftappen. Maar in dit geval hoef je niet af te tappen aangezien de bank denkt dat de man-in-the-middle de transactie uitvoert en NIET de client. De client voorziet de man-in-the-middle van de benodigde data om transacties te doen.
Juist die mate van complexheid die je hier ff overslaat is zo enorm groot dat het door jou gestelde redelijk onhaalbaar wordt. Vergelijk het met TSP oid. Oplossing is heel simpel, gewoon ff alles proberen. Kijk je daar iets langer na dan blijkt een super computer een miljoen jaar nodig te hebben om al die mogenlijkheiden te berekenen.[...]
Tuurlijk zal het wel complexer zijn, ik geef het vereenvoudigd weer.
Dus wel. Anders zit je straks de sessie var aan te passen ipv het over te maken bedrag.[...]
Dat hoef je dus niet te weten.
Ik zou niet eens raar opkijken waneer dit per request zou veranderen.[...]
Inderdaad maar ze zullen die velden waarschijnlijk niet ieder uur veranderen.
Probeer 'm eerst maar uberhaupt werkend te krijgen. Komt dat reverse enginering weer om de hoek krijgen. Je zult adhv de html code en de requests telkens precies moeten weten met welke actie een gebruiker bezig is op dat moment om exact te bepalen waar je wat zou moeten veranderen.[...]
Als je als man-in-the-middle maar weet hoe je je parser zo snel mogelijk actueel kunt krijgen.
Wel als ze allemaal via dezelfde proxy worden overgemaakt[...]
Random bedragen tussen 5 en 25 eurie zullen denk ik niet snel opvallen en al helemaal niet als je het via bijvoorbeeld 30 bankrekening, verdeeld over bijvoorbeeld 5 banken doet.
Klopt, zoals ik al zei staat dat los van mijn verhaal. Man in the middle is inderdaad wel een manier om ssl te omzeilen.[...]
SSL is inderdaad niet makkelijk te kraken maar hoeft helemaal niet gekraakt te worden.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
