Următorul pas a fost de a recupera memoria
pentru munca POST-metoda. pentru el
transferul efectiv al următoare obligatorii
parametrii la server:
POST
gazdă
Content-Length
Aproximativ schițate la o cerere textierului
Server, am obține următoarele:
POST /login.bml HTTP / 1.1
Realizator: www.livejournal.com
Content-Type: application / x-www-form-urlencoded
Conținut-Lungime: 26
Destul de ciudat, nu a funcționat :). sistem
El a certat parola greșită. M-am gândit, bine
există o verificare pe referer și USERAGENT, dar m-am înșelat.
Când înlocuind parametrii false
De asemenea, serverul a dat răspunsul - parolă incorectă. cum
sa dovedit, dacă ai pus după parola
simbol și de a crește lungimea liniei de
yedinichku, serverul a mâncat cu succes de date și
Loginned reveni.
N-am vrut să pompeze tot
HTMLinu lung și taie linia ei
Loginned. Aș dori să se limiteze recv modeste pe
un kilobyte de date :). Era posibil,
deoarece serverul a pus jos cookie-uri în header-linii.
Aceste cookie-uri conțin un răspuns de succes
numele de utilizator și parola criptate,
despre acest format:
Set-Cookie: ljsession = ws: fuck: 1: fDjwfWdsC; path = /; HttpOnly
Deci, codul actual:
## a mers la priza
antet lung
$ Socket-> recv ($ răspuns, 1024); ## Și
Am citit reveni date = 1 kb
/ \: $ Utilizator \: /) deschis (logf, ">> $ logfile") sau mori de imprimare "$ \ n!";
imprima logf "utilizator $: $ treci este OK \ n.";
logf aproape;
imprimare "utilizator $: $ treci este OK \ n.";
exit 0; ## Dacă conține
o linie de genul: utilizator: - scrie jurnalul si termina bruta.
> ## Altfel, verificați
următoarea parolă
>
Arată acest articol unui prieten: