[Python]Website Login -> Werte auslesen

11/21/2015 17:00 Moonsteroid#1
Moin zusammen,
Ich bin gerade dabei ein Skript in Python zu schreiben welches sich bei [Only registered and activated users can see links. Click Here To Register...] einloggt und dann die höhe der Premiumpunkte ausließt und es mir ausgibt.

Ich benutze dafür urllib, urllib2.

Ich bin jetzt soweit dass ich das login habe, also das er username und password verschickt und das klappt alles soweit
Nun zum hacken.. Die Serverauswahl!

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

^Wenn man auf den button "Welt 122" klickt wird eine JS funktion aufgerufen, kann mir einer sagen wie ich herausfinde was ich mittels request abschicken soll?

Hoffe das es Verständlich ist :)
Gruß IGnoXX
11/21/2015 18:31 alpines#2
Die JS-Funktion wird sicherlich ein Paket zum Server losschicken.
Sniff solange mit bis du auf Welt 122 klickst und stoppe dann das Sniffen, weil die neuen Einträge die alten überschreiben und die Daten verloren gehen.
Da solltest du irgendwo ein Paket finden was vom JS gezündet wurde, alternativ kannst du auch Rechtsklick > Element Untersuchen auf den Button machen und die JS Funktion anschauen was sie womit macht.
11/21/2015 19:11 Moonsteroid#3
Die JS-Funktion wird über "onclick" aufgerufen, hab es jetzt herausgefunden was die Funktion wirklich macht indem ich über der console die funktion ausgegeben hab..
Das packt den Servernamen ans ende der url ".../index.php?action=login&server_de122"

Wenn ich jetzt den request abschicke und dann mit "get" game.php aufrufe und es anschließend in einer neuen .html datei abspeicher sagt er das die session abgelaufen ist... Neues Problem :P
11/22/2015 10:31 xXKonaXx#4
Benutze die [Only registered and activated users can see links. Click Here To Register...].
Diese bietet einige hilfreiche Funktionen zur Cookie/Session-Verwaltung.

[Only registered and activated users can see links. Click Here To Register...]
11/22/2015 10:34 wielands#5
Da deren Login mehrstufig abläuft würde ich dir empfehlen den genauen Ablauf mit einem Proxy mitzuschneiden. Empfehlenswert ist [Only registered and activated users can see links. Click Here To Register...](Free Version reicht), da es auch https aufzeichnen kann.

Edit (da war wohl jemand schneller :), s.o.):
Für das Login selber kannst du besser das Python Package 'requests' benutzen, das etwas bequemer zu verwenden ist und dir die Möglichkeit gibt Cookies über eine Session zu verwalten (wichtig, s.u.).

Ich habe mal eben auf den Loginablauf geschaut und der läuft ungefähr so ab:
1. URL_1 mit username, password -> setzt ein Passwort in den Cookies und gibt dir eine Liste der verschiedenen Welten zurück
2. URL_2 (die die du auch da stehen hast) mit username, cookie_password -> gibt eine spezifische URL_3 zurück
3. URL_3 -> noch eine URL_4
4. URL_4 -> enthält die von dir gewünschten Infos ;)

Die Zuordnung zu deinem Benutzernamen passiert komplett über die Cookies, daher müssen die mit übergeben werden.

tl;dr: BurpSuite -> requests -> INFOS
11/22/2015 15:52 Moonsteroid#6
Danke für die Antworten!, hab bereits gestern angefangen mit dem Request modul zu arbeiten scheint mir auch besser zu sein als urllib oder mechanize da man beinah alles selber machen muss :)

BurpSuit wird direkt gezogen, danke für den tipp!

Ich werd mich wieder melden :)

-IGnoXX

Ok ich hab's hinbekommen mit etwas hilfe, danke trotzdem an euch!
11/23/2015 12:40 MrDami123#7
Für das Auslesen von Werten kann ich dir BeautifulSoup oder lxml empfehlen. BeautifulSoup ist einfacher.
11/23/2015 17:44 Moonsteroid#8
Yup hab BeautifulSoup benutzt, danke ;)