c# Get Requests beim laden einer Website "abfangen"

09/17/2013 21:05 ChibiEbil#1
Hi leute,

Ich bin nun die ganze zeit dran mit einem WebRequest abzufangen was ne website läd, und bin mir nichtmal sicher obs damit geht.

Folgendes szenario => Eine website mit einem Formular wird geladen auf der ein captcha ist. Ich möchte die Url des captchas, oder es zumindest downloaden.
Das Problem? Im Quelltext ist es nicht zu finden, es ist nur zu finden wenn man die GET requests analysiert, denn dort ist ein request an den google.com recaptcha service.
Wie bekomme ich diesen request nun mit einem programm mit?
Ich finde nur code snippets wo man selbst requests sendet...

Wäre für jede hilfe dankbar :)

LG Ebil
09/17/2013 21:12 dready#2
Der Unterliegende link wird von der Webrequest ja nicht geladen oder ?
09/17/2013 21:30 ChibiEbil#3
Keine ahnung - könnte ich das prüfen bräuchte ich ja nichts weiter.
Ich kann nur sagen wenn die website normal aufgerufen wird finden verschiedene GET requests statt.
Das problem bei dem google recaptcha request ist das der nicht immer gleich ist, sonst wärs kein problem.
Also möchte ich sozusagen alle URLs die vom request ausgelöst werden mir anzeigen lassen, das würde ja reichen. Hab leider keinen ansatz.
Hab alle header und url funktionen durchgeguckt und finde einfach garnix...
09/17/2013 21:31 dready#4
bauchgefühl sagt mir das es Recaptcha von Google ist, wahrscheins als SWF oder Javascript eingebettet, sieh dir die Seite genau durch, du wirst die Values finden die du für die Request zur google api brauchst.
09/17/2013 21:46 ChibiEbil#5
Das ist es ja ich habe jedes beschissene javascript der seite durchsucht und finde nirgends diese URL oder einen teil der mir was bringt :/
Deswegen versuche ich nun das ganze direkt abzufangen.
Mir war es schon neu das etwas auf ner website angezeigt werden kann ohne das es direkt im quellcode ist ...

Achja da fällt mir ein, wenn man das captcha markiert, und sich dann im browser den ausgewählten qulltext anzeigen lässt, sieht man genau den div indem sich das bild befindet und das bild ganz normal mit html src=...
Hab nach iframes im quelltext gesucht... auch kein erfolg. :/
09/17/2013 22:17 qkuh#6
Um welche Seite handelt es sich denn?
09/18/2013 01:07 Bloody*Star#7
check the elements and use a for each to check every element
note: not every website will have the same :P

or explorer the this name space:
Code:
Imports System.Net 'lots of useful stuff here
09/18/2013 10:29 ChibiEbil#8
Seite gmx.com/registration.html
Ihr benötigtet einen US/Ausländischen Proxy um die zu sehen, sonst werdet ihr umgeleitet auf die .net / DE Seite . Ihr könnt : 86.111.144.194:3128 nutzen.
Ich überleg schon nen anderen Email service zu nehmen für account generation :/ Aber am ende ist dort noch der ehrgeiz den doch hinzukriegen, ausserdem wollte ich eh mehrere haben...

@Bloody*Star I know the Net stuff and as I said I looked alot into the stuff but cant find it out. Also I dont think element could help me, afaik it just checks what is also in the source? =o
09/18/2013 16:23 dready#9
direkt in der html Response

Wicket.Event.add(window, "domready", function(event) { Recaptcha.create('6LdKsrwSAAAAAHjmh-jQNZ7zskPDs1gsY-WNXAKK', 'recaptcha_image', { theme: 'clean', lang:'en', custom_translations: {play_again : "Play sound again",cant_hear_this : "Download sound as MP3"}});});
09/18/2013 18:07 ChibiEbil#10
Wenns nur so einfach wär - das ist leider nur die site ID die übergeben wird um ein captcha anzufordern.

[Only registered and activated users can see links. Click Here To Register...]

=>
Code:
var RecaptchaState = {
    site : '6LdKsrwSAAAAAHjmh-jQNZ7zskPDs1gsY-WNXAKK',
    rtl : false,
    challenge : '03AHJ_VuvTB4WKc6-if0TxUflBqQDZdRDYmCiEkpVjz9Aslg1WhGqJf8hmeC9n_W9jsuPHmwHLxg2pINMCR1Cuc8WRKDe3C9yyaRvzG_fGith9K4qezSbbTCzHKhgw0LalhyJHBFZ_yK2AiOmVY_jA3ebJxqfdPJlD0SBKFOUKA9xHSBSMj-U8KeU',
    is_incorrect : false,
    programming_error : '',
    error_message : '',
    server : 'http://www.google.com/recaptcha/api/',
    lang : 'en',
    timeout : 1800
};

Recaptcha.challenge_callback();

Dort findet man z.B. die eigentliche challenge

Code:
challenge : '03AHJ_VuvTB4WKc6-if0TxUflBqQDZdRDYmCiEkpVjz9Aslg1WhGqJf8hmeC9n_W9jsuPHmwHLxg2pINMCR1Cuc8WRKDe3C9yyaRvzG_fGith9K4qezSbbTCzHKhgw0LalhyJHBFZ_yK2AiOmVY_jA3ebJxqfdPJlD0SBKFOUKA9xHSBSMj-U8KeU',
    is_incorrect : false,
Die URL eines Bildes ist dann z.B.
[Only registered and activated users can see links. Click Here To Register...]

Also selbst wenn man die Challange hat kann man damit so wie ich es atm sehe nicht auf die URL schließen.
Und diese Daten hatte ich nun alle nur weil ich die GET requests der Seite im Browser abgefangen hab (Chrome STRG+Shift+i => Network).
Wenn mir jemand sagen kann wie ich auf die source zugreifen kann die sich iwie in der website versteckt würds ja schon reichen.

HTML Code:
<img style="display:block;" alt="reCAPTCHA challenge image" height="57" width="300" src="http://www.google.com/recaptcha/api/image?c=03AHJ_VuuscX96PlwguzO6K965UfFek6W3fi3oMXE6IJT57lRgKlqfnGapLZKdLgF2_smQv_FcpFgtCHAcxH9lfkIvd8kupeFdVPrNycjuqDqtitHKNh3WPX1gN54lgx8vEPJrONhB--1z01oZdSxbEY-RWRalqmeBpfxsmwXstrHFXeDjeCfN_WE">
In einer webrequest reponse sieht man nur

HTML Code:
<div class="CaptchaReloadBlock">
                <!-- Container which should be displayed while a ReCaptcha IMAGE is shown -->
                <div id="id2ed">
Ich probier ma weiter...
09/18/2013 18:24 dready#11
Deine Webrequest macht diese Anforderung nicht.

Heißt du lädst die Seite, machst die Request an google, bekommst das Bild und beantwortest die Challenge.

Oder was versteh ich gerade nicht ? :)
09/18/2013 18:43 ChibiEbil#12
Na welchen Request soll ich denn stellen? Ich benötige den exakt selben der bei dem Webrequest raus kommt, denn die challange muss ich ja lösen.
Ich kann also nicht irgendein request ans googlecaptcha stellen, ich benötige den der erzeugt wird beim Webrequest zum aufrufen des formulars, bzw das bild benötige ich => Da komm ich nirgends dran.
Aber ich teste mal weiter vllt krieg ichs ja raus => Es geht auf jeden fall, ob das dann ne tolle lösung ist wird sich noch herrausstellen, oder ob ich bis dahin die geduld verliere und nen generator fürn andern maildienst schreibe :D
09/18/2013 18:58 dready#13
Die eigentliche Challenge wird per Javascript während dem Aufrufen auf deinem PC erstellt ;)

Schnapp dir am besten mal einen Stifft und sieh dir an was genau da abläuft.

Homepage -> dort wird per JS

Recaptcha.create('6LdKsrwSAAAAAHjmh-jQNZ7zskPDs1gsY-WNXAKK') ausgeführt

Siehst du nun unter dem Javascript das für die Funktion zuständig ist nach wirst du sehen wie es die Challenge Created. Wenn ichs recht im Kopf hab auch einfach nur über HTTP requests.
Jetzt hast du also eine gültige Challenge für diese Seite und das Bild.

Beim Submit gibt du nun dann die Challenge und die Antwort auf das Bild mit.
09/18/2013 19:35 ChibiEbil#14
Der string für die challange anfrage wird auf dem PC gestellt (mit einem zufallswert!), dann wird die anfrage an google gestellt und google hat als reponse das bild.
Aber wie krieg ich nun exakt die selbe challenge? Erstrecht mit dem Zufallswert machts das nicht leichter.
Also ich hab kein plan mehr :D
09/18/2013 19:54 dready#15
Wie du selbst sagtest es wird auf deinem PC erstellt, aber von welchem Zufallswert redest du ?

[Only registered and activated users can see links. Click Here To Register...]