PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Passwort-Hack


Jack
16.10.2001, 19:26
Tag :)

Gibt es einen Passwort Hack für Foren die permanent das Passwort abfragen ?

Der Hack von Afterburner ist schon klasse, fragt das PW allerdings nur einmal ab. Erst bei einer erneuten PW Änderung wird es wieder abgefragt. Ich hätte es gern so, das die User jedes mal das Passwort eingeben müssen, wenn sie das entsprechende Forum betreten.

Jacky

Jack
16.10.2001, 20:28
--

Znaper
16.10.2001, 22:05
Öffne die Datei forumdisplay.php und suche folgendes:


$forumid = intval($forumid);
$foruminfo = verifyid('forum',$forumid,1,1);

$getperms=getpermissions($forumid,-1,-1,$foruminfo['parentlist']);
if (!$getperms[canview]) {
show_nopermission();
}

$bbcodeon=iif($foruminfo['allowbbcode'],$ontext,$offtext);
$imgcodeon=iif($foruminfo['allowimages'],$ontext,$offtext);
$htmlcodeon=iif($foruminfo['allowhtml'],$ontext,$offtext);
$smilieson=iif($foruminfo['allowsmilies'],$ontext,$offtext);


danach füge folgendes ein:


if ($foruminfo[password]!=""){
if ($bbforumpass[$forumid] != md5($foruminfo['password'])) {
if (md5($forumpassword) == md5($foruminfo['password'])) {
setcookie("bbforumpass[$forumid]",md5($foruminfo['password']),0,$cookiepath);
} else {
$call_prog=str_replace("/","",$scriptpath);
eval("standarderror(\"".gettemplate("forumlogin")."\");");
exit;
}
}
}



Öffne nun die showthread.php und suche folgendes:


if (!$thread['visible']) {
$idname="thread";
eval("standarderror(\"".gettemplate("error_invalidid")."\");");
exit;
}

$forum=getforuminfo($thread['forumid']);


danach füge folgendes ein:


$fid = $forum[forumid];
if ($forum[password]!=""){
if ($bbforumpass[$fid] != md5($forum['password'])) {
if (md5($forumpassword) == md5($forum['password'])) {
setcookie("bbforumpass[$fid]",md5($forum['password']),0,$cookiepath);
} else {
$call_prog=str_replace("/","",$scriptpath);
eval("standarderror(\"".gettemplate("forumlogin")."\");");
exit;
}
}
}


Öffne die Datei /admin/forum.php und suche folgendes:


makeyesnocode("Allow thread ratings in this forum?","allowratings",1);
makeyesnocode("Count posts made in this forum towards user post counts?","countposts",1);


danach füge folgendes ein:


makeinputcode("Forum Password<br>(Max length of 50 characters)","password");


suche folgendes:


$DB_site->query("INSERT INTO forum (forumid,styleid,title,description,active,displayorder,parentid,parentlist,allowposting,cancontainth reads,daysprune,newpostemail,newthreademail,moderatenew,allowhtml,allowbbcode,allowimages,allowsmili es,allowicons,styleoverride,allowratings,countposts,moderateattach) VALUES (NULL,'$styleset','".addslashes($title)."','".addslashes($description)."','$isactive','$displayorder','$parentid','','$allowposting','$cancontainthreads','$daysprune','".addslashes($newpostemail)."','".addslashes($newthreademail)."','$moderatenew','$aallowhtmlcode','$aallowbbcode','$aallowimgcode','$aallowsmilies','$aallowicons', '$styleoverride','$allowratings','$countposts','$moderateattach')");


und ersetze es mit folgendem:


$DB_site->query("INSERT INTO forum (forumid,styleid,title,description,active,displayorder,parentid,parentlist,allowposting,cancontainth reads,daysprune,newpostemail,newthreademail,moderatenew,allowhtml,allowbbcode,allowimages,allowsmili es,allowicons,styleoverride,allowratings,countposts,moderateattach,password) VALUES (NULL,'$styleset','".addslashes($title)."','".addslashes($description)."','$isactive','$displayorder','$parentid','','$allowposting','$cancontainthreads','$daysprune','".addslashes($newpostemail)."','".addslashes($newthreademail)."','$moderatenew','$aallowhtmlcode','$aallowbbcode','$aallowimgcode','$aallowsmilies','$aallowicons', '$styleoverride','$allowratings','$countposts','$moderateattach','$password')");


suche folgendes:


makeyesnocode("Allow thread ratings in this forum?","allowratings",$forum[allowratings]);
makeyesnocode("Count posts made in this forum towards user post counts?","countposts",$forum[countposts]);
[CODE]

und füge danach folgendes ein:

[CODE]
makeinputcode("Forum Password<br>(Max length of 50 characters)","password",$forum[password]);


suche folgendes:


$DB_site->query("UPDATE forum
SET
styleid='$styleset', title='".addslashes($title)."', description='".addslashes($description)."',
active='$isactive', displayorder='$displayorder', parentid='$parentid', parentlist=$parentlist,
allowposting='$allowposting', cancontainthreads='$cancontainthreads', daysprune='$daysprune',
newpostemail='".addslashes($newpostemail)."', newthreademail='".addslashes($newthreademail)."',
moderatenew='$moderatenew', allowhtml='$aallowhtmlcode', allowbbcode='$aallowbbcode',
allowimages='$aallowimgcode', allowsmilies='$aallowsmilies', allowicons='$aallowicons',
styleoverride='$styleoverride', allowratings='$allowratings', countposts='$countposts',
moderateattach='$moderateattach'
WHERE forumid='$forumid'");


und ersetze es mit folgendem:


$DB_site->query("UPDATE forum
SET
styleid='$styleset', title='".addslashes($title)."', description='".addslashes($description)."',
active='$isactive', displayorder='$displayorder', parentid='$parentid', parentlist=$parentlist,
allowposting='$allowposting', cancontainthreads='$cancontainthreads', daysprune='$daysprune',
newpostemail='".addslashes($newpostemail)."', newthreademail='".addslashes($newthreademail)."',
moderatenew='$moderatenew', allowhtml='$aallowhtmlcode', allowbbcode='$aallowbbcode',
allowimages='$aallowimgcode', allowsmilies='$aallowsmilies', allowicons='$aallowicons',
styleoverride='$styleoverride', allowratings='$allowratings', countposts='$countposts',
moderateattach='$moderateattach', password='$password'
WHERE forumid='$forumid'");




Erstelle ein neues Template mit dem Namen forumlogin und füge folgendes ein:


<center>Für dieses Forum wird ein Paßwort benötigt:<br>
<FORM ACTION="$call_prog" METHOD="POST">
<input type="password" name="forumpassword">
<br>
<input type="Submit" name="SUBMIT" value="Identifizieren">
</form></center>



Führe folgende Zeile in Phpmyadmin aus:


ALTER TABLE forum ADD password varchar(50)


Die Idee stammt von AA, ich habe diese nur vB2.x kompatibel gemacht.


mfg Znaper


PS: Leider wurden ein paar Zeilenumbrüche falsch wiedergegeben, aus diesem Grunde werde ich den Hack die Tage als txt File zur Verfügung stellen.

genial
16.10.2001, 23:41
(wieder) mal ne dumme frage: :D

wozu ist denn dieser passwort-hack gut?
was lässt sich mit dem machen, was sich nicht mit den benutzer(gruppen)rechten machen lässt?

Afterburner
17.10.2001, 00:32
klar dann muß man aber immer die user freischalten und manchmal kann sowas schon lästig sein bzw es reicht wenn sich die user als über 18 erwiesen haben :D und dann mit dem PW ins board kommen.

genial
17.10.2001, 07:54
wenn ich aber einen user wieder aussperren möchte muß ich das passwort ändern und den anderen usern das neue passwort mitteilen.

da stellt sich die frage, was lästiger ist?! :D

Afterburner
17.10.2001, 16:51
also bei meiner version wäre das egal denn die user würden trotzdem noch reinkommen, wenn du jemanden aussperren willst bei meiner version dann müßtest du das über die accessmask machen.

Znaper
17.10.2001, 22:11
Da find ich doch meine Lösung klatt besser! :D :D :D


mfg Znaper

Jack
17.10.2001, 23:02
Wenn sie funktionieren würde wäre sie besser ;)

Afterburner und ich haben uns gestern echt Mühe gegeben das Teil überhaupt mal in meinem Board zum Laufen zu kriegen. Trotzdem muss hier das Passwort auch nur einmal eingegeben werden und es wird dann im Cookie gespeichert. Und das ist ja genau das, was ich nicht wollte!

Gruß,
Jacky

Znaper
18.10.2001, 05:33
Das Cookie wird aber nur solange gespeichert, solange wie Du Dein Browserfenster offen hast.
Es ist das gleiche wie mit dem Cookie für's Admin CP.
Wie gesagt ich werde den Hack nochmal richtig verfassen, da oben etliche Zeilenumbrüche falsch sind.
Bei mir auf dem Board funktioniert er bestens und im gEb auch. ;)


mfg Znaper