Navigacija

Vartotojų tinkle

Prisijungusių svečių: 46
Prisijungusių narių: 0
Prisijungusių narių nėra

Registruoti nariai: 25,952
Naujausias narys: tomeem

Naujausi straipsniai

Paskutiniai nariai

tomeem 1 savaitė
Reikalas 2 savaitės
weberiz 4 savaitės
mRokass 7 savaitės
kartoonas 8 savaitės
iaescortsmap 8 savaitės
ozzWANTED 9 savaitės
grunskiz10 savaitės
Bruksnys11 savaitės
illusion11 savaitės
ordo12 savaitės
Jurgaila13 savaitės
originalcs1613 savaitės
Rytis13 savaitės
halis15 savaitės
junkus18 savaitės
morlis18 savaitės
Majakas19 savaitės
andsoft20 savaitės
picolee9021 savaitės

Informacija:


OS: Unknown
Naršyklė: Nežinoma
IP: 3.139.86.56
Naujienų: 529
Straipsnių: 235
Temų: 52,584
Postų: 522,522
Postų pask. parą: 0
Shout'ų pask. parą: 0
P.S.C. pask. parą: 0
Nuorodų kataloge: 13

Lankomumo Statistika

Peržiūrų šiandien: 22

Iš viso peržiūrų: 22948724

Prisijungti

REGISTRUOTIS
Nario vardas

Slaptažodis



Pamiršai slaptažodį?
Paprašyk naujo

Aktyvuoti save

Šaukykla

Jei norite rašyti žinutes, turite prisijungti.

ozzWANTED
2024 Sau. 17 01:01:00
Desperatiškus komentarus šaukykloje su accountu po mėnesio prasibuvimo, ištryniau. Pasaulis ir taip juodas. Įjungiam šviesą, prašviesės. šypsosi

Majakas
2023 Gru. 10 19:12:39
Negaliu patikėti jog žinutės/pranešimai visi yra nuo 2008 m akinanti šypsen

Žmogus
2023 Rugs. 7 21:09:14
O gal BloodKiller pasijungs?

Apocal
2023 Rugs. 2 18:09:23
Nu davai nuveikiam kažką akinanti šypsen. Prisijungti kada visi čia akinanti šypsen.

Apocal
2023 Rugs. 2 00:09:18
Šiaip atėjau pažiūrėti ar dar lopas nesby yra ar koks ten buvo.

Šaukyklos archyvas

Apklausa

Ar esate patenkinti lietuviško vertimo kokybe?

Taip!

Taip, bet yra ką taisyti (parašysiu komentaruose)

Ne

Norėdamas balsuoti turite prisijungti.
Archyvas
Reklama 400x60
Kitoks sausainėlis (+special_id)
Forumas | Modai, įskiepiai, panelės (PHP-FUSION) | Naujų modų pristatymai

Autorius: BloodKiller Peržiūrų: 8199      Spausdinti temą
2008 Lie. 13 01:07:30          1 žinutė iš 18
Spausdinti pranešimą
Standartinis sausainėlis PHP-Fusion sistemoje yra kažkas panašaus į tai:

fusion_user=1.872ab031e6d4f347fd996aaabfd0ecb7

Na o nenorėtumėte, kad jūsų fusion_user atrodytų taip?

fusion_user=86dd43a66aae4170666177d8a57a80a1.872ab031e6d4f347fd996aaabfd0ecb7

Kuo tai geriau būtų? Kol kas dar nežinom, nes neaišku, kas per daiktas yra tas šifras vietoj 1. Na bet nuosekliai nagrinėdami straipsnį, jūs tai puikiai surpasite. :)

ALTER TABLE {prefix}users ADD special_id VARCHAR(255) NOT NULL AFTER user_status;

Dabar atsidarę register.php, susiraskite šią eilutę:
$result = dbquery("INSERT INTO ".$db_prefix."users (user_name, user_password, user_email, user_hide_email, user_location, user_birthdate, user_aim, user_icq, user_msn, user_yahoo, user_web, user_theme, user_offset, user_avatar, user_sig, user_posts, user_joined, user_lastvisit, user_ip, user_rights, user_groups, user_level, user_status) VALUES('".$user_info['user_name']."', '".$user_info['user_password']."', '".$user_info['user_email']."', '".$user_info['user_hide_email']."', '', '0000-00-00', '', '', '', '', '', 'Default', '0', '', '', '0', '".time()."', '0', '".USER_IP."', '', '', '101', '$activation')");




ir ją pakeiskite į:

$spec_id = md5(sha1(mt_rand()+time()).microtime());
$result = dbquery("INSERT INTO ".$db_prefix."users (user_name, user_password, user_email, user_hide_email, user_location, user_birthdate, user_aim, user_icq, user_msn, user_yahoo, user_web, user_theme, user_offset, user_avatar, user_sig, user_posts, user_joined, user_lastvisit, user_ip, user_rights, user_groups, user_level, user_status, special_id) VALUES('".$user_info['user_name']."', '".$user_info['user_password']."', '".$user_info['user_email']."', '".$user_info['user_hide_email']."', '', '0000-00-00', '', '', '', '', '', 'Default', '0', '', '', '0', '".time()."', '0', '".USER_IP."', '', '', '101', '$activation','$spec_id')");




Tada tame pačiame faile suraskite šią eilutę:

$result = dbquery("INSERT INTO ".$db_prefix."users (user_name, user_password, user_email, user_hide_email, user_location, user_birthdate, user_aim, user_icq, user_msn, user_yahoo, user_web, user_theme, user_offset, user_avatar, user_sig, user_posts, user_joined, user_lastvisit, user_ip, user_rights, user_groups, user_level, user_status) VALUES('$username', '".md5(md5($password1))."', '".$email."', '$user_hide_email', '$user_location', '$user_birthdate', '$user_aim', '$user_icq', '$user_msn', '$user_yahoo', '$user_web', '$user_theme', '$user_offset', '', '$user_sig', '0', '".time()."', '0', '".USER_IP."', '', '', '101', '$activation')");




ją pakeiskite į:

$spec_id = md5(microtime().sha1(mt_rand()+time()));
$result = dbquery("INSERT INTO ".$db_prefix."users (user_name, user_password, user_email, user_hide_email, user_location, user_birthdate, user_aim, user_icq, user_msn, user_yahoo, user_web, user_theme, user_offset, user_avatar, user_sig, user_posts, user_joined, user_lastvisit, user_ip, user_rights, user_groups, user_level, user_status, special_id) VALUES('$username', '".md5(md5($password1))."', '".$email."', '$user_hide_email', '$user_location', '$user_birthdate', '$user_aim', '$user_icq', '$user_msn', '$user_yahoo', '$user_web', '$user_theme', '$user_offset', '', '$user_sig', '0', '".time()."', '0', '".USER_IP."', '', '', '101', '$activation','$spec_id')");




register.php sutvarkytas. Dabar atsidarykite administration/members.php ir susiraskite šią eilutę:

$result = dbquery("INSERT INTO ".$db_prefix."users (user_name, user_password, user_email, user_hide_email, user_location, user_birthdate, user_aim, user_icq, user_msn, user_yahoo, user_web, user_theme, user_offset, user_avatar, user_sig, user_posts, user_joined, user_lastvisit, user_ip, user_rights, user_groups, user_level, user_status) VALUES ('$username', '".md5(md5($_POST['password1']))."', '$email', '$hide_email', '', '0000-00-00', '', '', '', '', '', 'Default', '0', '', '', '0', '".time()."', '0', '".USER_IP."', '', '', '101', '0')");




ją pakeiskite į:

$spec_id = md5(microtime().sha1(mt_rand()+mt_rand(1,2)*time()));
$result = dbquery("INSERT INTO ".$db_prefix."users (user_name, user_password, user_email, user_hide_email, user_location, user_birthdate, user_aim, user_icq, user_msn, user_yahoo, user_web, user_theme, user_offset, user_avatar, user_sig, user_posts, user_joined, user_lastvisit, user_ip, user_rights, user_groups, user_level, user_status, special_id) VALUES ('$username', '".md5(md5($_POST['password1']))."', '$email', '$hide_email', '', '0000-00-00', '', '', '', '', '', 'Default', '0', '', '', '0', '".time()."', '0', '".USER_IP."', '', '', '101', '0', '$spec_id')");




Po šio pakeitimo atsidarykite maincore.php failą ir susiraskite:
$cookie_value = $data['user_id'].".".$user_pass;



tai pakeiskite į:
$cookie_value = $data['special_id'].".".$user_pass;




Dabar tame pačiame faile suraskite šią eilutę:
$result = dbquery("SELECT * FROM ".$db_prefix."users WHERE user_id='$cookie_1' AND user_password='".md5($cookie_2)."'");



ir ją pakeiskite į:
$result = dbquery("SELECT * FROM ".$db_prefix."users WHERE special_id='$cookie_1' AND user_password='".md5($cookie_2)."'");




Po to suraskite šią eilutę:
$cookie_1 = isNum($cookie_vars['0']) ? $cookie_vars['0'] : "0";



ir ją pakeiskite į:
$cookie_1 = isset($cookie_vars['0']) && preg_match("/^[a-z0-9]+$/i",$cookie_vars['0']) ? $cookie_vars['0'] : "0";






BAIGTA. :)

Dabar išsamiai aš jums paaiškinsiu, kuo tai geriau nei paprastas ID. Matote, kai yra paprastas ID, per ciklines socket užklausas lengviau vykdyti bruteforce ataką, spėliojant vartotojų ID nei jų special_id, kurio niekas visiškai nežino ir net negali numatyti, nes jis niekur nėra skelbiamas, priešingai nei paprastas vartotojo ID - jis yra sugeneruojamas ir suteikiamas visiems skirtingas. Tokiu būdu yra visiškai užkertamas kelias bruteforce atakoms per sausainėlius.





P.S. Jeigu kils problemų, rašykite čia, nes šitos sistemos neištestavau visu 100%, tad gali būti nesklandumų.

2008 Lie. 13 01:07:16          2 žinutė iš 18
Spausdinti pranešimą
Joa gan neblogai padirbejai merkia akį
2008 Lie. 13 10:07:42          3 žinutė iš 18
Spausdinti pranešimą
Kaško nesupratau, ar durnas, bet tik tos apsaugos nesugebų įsidėt į saitą, nes tada neleidžia logintis.

2008 Lie. 13 10:07:16          4 žinutė iš 18
Spausdinti pranešimą
Šiaip galima ir papraščiau. md5 paswordą užkoduot base64(), o vėliau jį atkoduot. O išėmus iš sausainėlio tą dalį, bent jauper Operą jos atkoduoti nepavyko.
2008 Lie. 13 10:07:58          5 žinutė iš 18
Spausdinti pranešimą
Turiu laisvo laiko reiks manau išbandyti šypsosimerkia akį

Adminas - ban'o laisvė
www.KIETEKAS.com
2008 Lie. 13 12:07:09          6 žinutė iš 18
Spausdinti pranešimą
Mldc blood, šitą ir į straipsnius galima pateikt. šypsosi

BR#1, Most Wanted
2008 Lie. 13 15:07:07          7 žinutė iš 18
Spausdinti pranešimą
taip dragelis, sitas modas turi spragu, ji ikisus negalima prie svetaines prisijunt.
leisk paklaust o kurioj vietoj i db iraso special id? akinanti šypsen
tik tada kai uzsiregistruoja isnaujo matyt... o esamiem vartotojam taip ir nesukuria to special_id

2008 Lie. 13 15:07:51          8 žinutė iš 18
Spausdinti pranešimą
Nu tai ir sukurkim mes ta special_id esamiems vartotojams:

atsidarom maincore.php
susirandam
if (isset($_POST['login'])) {
        $user_pass = md5($_POST['user_pass']);
        $user_name = preg_replace(array("/\=/","/\#/","/\sOR\s/"), "", stripinput($_POST['user_name']));
        $result = dbquery("SELECT * FROM ".$db_prefix."users WHERE user_name='$user_name' AND (user_password='".md5($user_pass)."' OR user_password='$user_pass')");
        if (dbrows($result) != 0 && check_captcha($_POST['captcha_encode'],$_POST['captcha_code'])) {      
            
                $data = dbarray($result);




ir po juo pridedam si koda

if ($data['special_id'] == '') {
            $spec_id = md5(microtime().sha1(mt_rand()+mt_rand(1,2)*time()));
            $result = dbquery("UPDATE ".$db_prefix."users SET special_id='$spec_id' WHERE user_id='".$data['user_id']."'"); }




2008 Lie. 13 16:07:11          9 žinutė iš 18
Spausdinti pranešimą
Man irgi šitas klausimas buvo iškilęs. Ką darys senesnį saito nariai. Norėjau jau aš papildymą šitą įdėt.
2008 Lie. 13 23:07:42          10 žinutė iš 18
Spausdinti pranešimą
tik manycia reiktu if ($data['special_id'] == 0) { keist i if ($data['special_id'] == '') {
nes gi seno nario special_id lygus niekam
2008 Lie. 13 23:07:37          11 žinutė iš 18
Spausdinti pranešimą
Apkeiciant cookies vistiek imanoma isilauzt. Ar klystu?

ex best admin!
2008 Lie. 13 23:07:13          12 žinutė iš 18
Spausdinti pranešimą
nu su situ kazi id tai nezinai special to šypsosi cookiuose tai hasha gaudavai ir id suzinodavai nario ir vsio sukeisti refresh ir turi o cia vietoj id eina special_id


2008 Lie. 13 23:07:26          13 žinutė iš 18
Spausdinti pranešimą
Isilauzti imanoma bet reikia zn user_id='1' special_id bei jo hasha juokiasi
2008 Lie. 14 08:07:20          14 žinutė iš 18
Spausdinti pranešimą
Nu ačiū chipass, bet man vistiek neįrašo po tavo pakeitimo į db special_id. galvoja


Redagavo Kelmas 2008 Lie. 14 08:07:38
2008 Lie. 14 09:07:09          15 žinutė iš 18
Spausdinti pranešimą
Bandyk taip:
if (!isset($data['special_id'])) {

Be to manau naudojant šitą kodą maincore.php, dalies kodo nelabai ir reikia. Tingiu plčiau aiškint. Kam reikės tas supras :D
2008 Lie. 14 09:07:30          16 žinutė iš 18
Spausdinti pranešimą
Dėl to kur įrašo jau įsirašiau automatiškai naujam faile sugeneraves, bet vistiek šūdas nelogina.

Šitą apsaugą reikia visa perašyt, nes užreginau naują userį irgi taspats.


Redagavo Kelmas 2008 Lie. 14 09:07:39
2008 Lie. 16 20:07:42          17 žinutė iš 18
Spausdinti pranešimą
nieko perasinet nereikia... viskas kuo puikiausiai vekia... su mano duotu kodu tuo labiau veikia. ir prie nauju useriu prideda ta id. tad pasinagrinek daugiau, pamastyk ir susitvarkysi.
2010 Bir. 16 21:06:45          18 žinutė iš 18
Spausdinti pranešimą
kame beda dabar man meta jog neteisingas nario vardas ar slaptazodis

Peršokti į forumą: