Vaatimukset: Kun käyttäjä kirjautuu onnistuneesti, Discuz-ohjelma kirjoittaa kirjautumistiedot evästeelle reagoivasti, ja jos eväste on tiedossa, miten purkaa nykyisen kirjautuneen henkilön käyttäjätunnus evästeessä?
Ensiksi sinun täytyy kirjautua palvelimelle ja katsoa/config/config_global.phpSeuraavassa kokoonpanossa on kaksi konfiguraatiota:
Evästeiden etuliitteet:$_config['cookie']['cookiepre'] Salaus- ja purkuavain:$_config['turvallisuus']['authkey']
Otetaan esimerkiksi tämä sivusto: $_config['cookie']['cookiepre'] = 'Mqd1_'; , joten katso keksin arvoja :Mqd1_2132_saltkey ja Mqd1_2132_auth.
Periaate on seuraava:
$authkey = "*********"; Tämä on salainen avain. $_config['security']['authkey'] = '*******' config/config_global.php-tiedostossa; Tässä se on, katsot mitä omistat, se mikä on. $salt = $_COOKIE['Mqd1_2132_saltkey']; Tämä on satunnaisluku, jonka generoi discuz $key = md5($authkey.$salt); Purkuavain $info = uc_authcode($_COOKIE['Mqd1_2132_auth'], 'DEKOODAUS', $key);
Tulosta sitten $info ja saat tuloksen, joka muistuttaa tätä:
bf6b7e1ddd3da431342f550eb8ce19e5 1
Huomasimme, että lopussa on numero 1, joka edustaa käyttäjätunnustasi, jotta voimme saada käyttäjätiedot ja sitten Ucenterin käyttäjätiedot tämän ID:n perusteella. Kun osaat purkaa sen, C#-koodi näyttää tältä:
Syötä vastaavat tiedot ohjelmaan, ja suoritustulos on seuraava:
Ohjelman lataus:
Turistit, jos haluatte nähdä tämän postauksen piilotetun sisällön, olkaa hyvä Vastaus
|