Abwesenheitshack v2.1.1

Highländer
Ich habe es damals direkt in der Datenbank geändert und da zuviele falsche Angaben von den Usern gemacht wurden, habe ich es so eingestellt, dass man sich nur als Teammitglied umstellen kann.
Berni*
Genau so werde ich es wohl auch machen müssen. unglücklich

Bei meinem damaligen 2.1 hatte ich einen Abwesenheits-Hack von Piti drin. Hier konnte der Admin per Klick auf einen Link, die abgelaufenen Abwesenheiten löschen! Es wurde auch angezeigt, bei wievielen Usern die Abwesenheit bereits abgelaufen war.

Wäre natürlich super, wenn das hier auch übernommen werden könnte. Augenzwinkern

Gruß Berni
Highländer
Wenn Du es in der Datenbank ändern musst, dann wäre es bei "bb1_users". Dort den User suchen und bearbeiten und unten auf der Seite bei "away" eine 0 eintragen. Weiß nicht... ob man den Hack mal überarbeitet.
Berni*
Zitat:
Original von Highländer
Weiß nicht... ob man den Hack mal überarbeitet.


Wäre schade, denn der Hack ist vom Prinzip ja super. Nur der Admin sollte schon (ohne in die Datenbank zu müssen) eingreifen können.

Danke für deine Antworten Highländer, wenn Du mal was hast, dann helfe ich dir auch gerne! Freude

Gruß Berni
Highländer
Ist wirklich völlig ausreichend, wenn das "Team" es umstellen kann, da man sich wohl auf diese "User" verlassen kann. Die anderen könnten ihre Abwesendheit in der Sig. schreiben. Augenzwinkern

Edit:
Ansonsten müsste man den Hack so umarbeiten, dass man automatisch nach dem eingestellten Datum aus der Liste verschwindet.
Berni*
Zitat:
Original von Highländer
Ansonsten müsste man den Hack so umarbeiten, dass man automatisch nach dem eingestellten Datum aus der Liste verschwindet.

Das wäre natürlich klasse, obwohl ... wenn dann einer das jahr 2100 eingibt ist es auch wieder sinnlos. Ich finde die Option für den Admin eine bessere Lösung. Allerdings wird es hier wohl keine Erweiterungen mehr geben.

Für alle die Interesse haben:
Ich poste hier mal die SQL-Abfrage und den User im ACP wieder auf anwesend zu schalten ... Die UserID 38 muss natürlich in die entsprechende UserID geändert werden!
code:
1:
2:
3:
4:
UPDATE `bb1_users` SET `away_message` = '',
`away_from` = '0000-00-00',
`away_to` = '0000-00-00',
`away` = '0' WHERE `bb1_users`.`userid` =38 LIMIT 1 ;


Gruß Berni
Jorja82729
Hallo Leute

Wollte gerade den Hack einbauen und bekomme schon beim Setup folgendes:

SQL-DATABASE ERROR

Database error in WoltLab Burning Board (2.3.6): Invalid SQL: ALTER TABLE `bb1_users` ADD `away_message` TEXT NOT NULL , ADD `away_from` DATE NOT NULL , ADD `away_to` DATE NOT NULL , ADD `away` tinyint(1) DEFAULT '0' NOT NULL ;
mysql error: Can't create/write to file '/export/db5/stargossips/#sql-7fff_28e5e7.MYI' (Errcode: 28 )
mysql error number: 1
mysql version: 4.1.22-log
php version: 5.2.9
Date: 02.07.2009 @ 11:56
Script: /wbb2/acp/setup.php?action=db
Referer: http://stargossips.st.funpic.de/wbb2/acp....php?action=lng


Kann mir das wer vielleicht weiterhelfen? Vielen Dank
leswo
nun hab ich mir den Hack auch mal angesehen und bin dabei die Sache an meine Ideen anzupassen.

Ich bin so einigermassen erschüttert darüber, dass die geposteten Variablen ohne jegliche Prüfung in die Datenbank geschrieben werden !! vor allem netterweise gleich mal in die tabelle users ....

es kann hier jeder beliebigen Text an die DB Abfrage schicken!

php:
1:
$db->unbuffered_query("UPDATE `bb".$n."_users` SET `away_message` = '".$_POST['away_message']."',`away_from` = '".$_POST['yearfrom']."-".$_POST['monthfrom']."-".$_POST['dayfrom']."',`away_to` = '".$_POST['yearto']."-".$_POST['monthto']."-".$_POST['dayto']."', `away` = '".$_POST['away']."' WHERE `userid` = '".$wbbuserdata[userid]."';");
Jorja82729
Jetzt hab ich den Hack drinnen, aber ich habe im ACP nirgends die Möglichkeit einzustellen wer es sehen darf und wer nicht...
leswo
Gruppen bearbeiten -> Benutzerrechte
Jorja82729
Vielen Dank!
KleenMicha
Der Hack weißt eine Sicherheitslücke (SQL-Injunction ist möglich) auf.
Diese ist umgehend zu schließen indem die folgende Änderung vorgenommen wird:

Öffne die Datei: ./usercp.php

Suche nach:
php:
1:
$db->unbuffered_query("UPDATE bb".$n."_users` SET `away_message` = '".$_POST['away_message']."',`away_from` = '".$_POST['yearfrom']."-".$_POST['monthfrom']."-".$_POST['dayfrom']."',`away_to` = '".$_POST['yearto']."-".$_POST['monthto']."-".$_POST['dayto']."', `away` = '".$_POST['away']."' WHERE `userid` = '".$wbbuserdata[userid]."';");

und ersetze es durch:
php:
1:
$db->unbuffered_query("UPDATE bb".$n."_users SET away_message='".addslashes($_POST['away_message'])."', away_from='".intval($_POST['yearfrom'])."-".intval($_POST['monthfrom'])."-".intval($_POST['dayfrom'])."', away_to='".intval($_POST['yearto'])."-".intval($_POST['monthto'])."-".intval($_POST['dayto'])."', away='".intval($_POST['away'])."' WHERE userid='".$wbbuserdata[userid]."';");
Bräke
Hab das mal in der Anleitung aktualisiert.
KleenMicha
@Bräke: bitte schaue nochmal, das addlashes() war auch in der originalen Anleitung nicht vorhanden.

Danke smile
Bräke
Es ist jetzt der SQL-Insert drinnen der oben in deinem Post drinnen steht. (15:33:31 Uhr)
KleenMicha
Ok dann passt es.
Weitere Lücken oder Ungereimtheiten sind mir nicht aufgefallen bei dem Hack.
KayeM
Danke für das Schließen der Sicherheitslücke.
Wird der Hack noch weiterentwickelt?
Dragonheart0811
Hallo,

mich würde mal interessieren, ob der Hack mit Active Delete zusammen arbeitet?

Wäre schon wichtig, sonst löscht Active Delete ausversehen einen User der Abwesend gemeldet ist.
ratsmember
hiho

hoffe hier wird noch gelesen und eventuell geholfen , habe diesen thread bis seite b18 aufmerksam gelesen aber ueberall gabs nur probleme mit der thread.php , mein problem liegt aber woanders ^^


und zwar wenn ich auf einen namen gehe um sein/ihr profil anzuschauen komme ich auf diese meldung


httpdocs/forum/profile.php(240) : eval()'d code on line 138


kein plan wo da der fehler sein soll, habe mir die profile.php angeschaut und nichts gefunden , im acp im profile template war ich auch schon dort ist auich alles richtig drin , templates sind gecachet


HHHIIILLLFFFFEEEEE ^^

Danke ^^
janolaf
dann häng doch bitte mal deine profile.php und die profile.tpl hier an.