Search Members Help

» Willkommen Gast
[ Einloggen :: Registrieren ]

Alle Beiträge auf einer Seite

[ bei Antworten benachrichtigen :: per E-Mail senden :: Thema ausdrucken ]

new topic new poll
Thema: Luke Filewalker's Ikonboard Hack List, Changelog der Änderungen am IB Source< Älteres Thema | Neueres Thema >
 Beitrag Nummer: 1
Luke_Filewalker Search for posts by this member.
Bastard Operator From Hell
Avatar

TeamIcon

Gruppe: Administrators
Beiträge: 891
Seit: 23.12.2005
PostIcon Geschrieben: 14.7.2008, 20:43  Skip to the next post in this topic. Ignore posts   

Im Laufe der Jahre gab es viele Änderungen an IB weshalb ich hier ein Log darüber führe um den Überblick zu behalten. ;) Es gibt noch weitere Änderungen wie z.B. den Split-Topic-Hack und andere. Hier jedoch führe ich nur eigene Hacks auf.

Messenger: "Kopie der Nachricht zum Ordner 'Gesendet' hinzufügen" standardmässig aktiviert. (3.11.06)
Global aktiviert damit man immer eine Kopie von den gesendeten PMs hat.

Module:
Skin/{skin]/MessengerView.cfg
Skin/{skin]/MessengerView.pm

Registrierung: Captcha durch eigenes Captcha Skript (SSP) ersetzt. (24.6.2007)
Statt 7 einzelnene Bilder, also 1 Hintergrund und 6 Ziffern im Original, erzeugt SSP nur eine einzige Grafik. Zudem variiert SSP die vertikale Position der einzelnen Ziffern und kann beliebig zwischen 1-8 Stellen eingestellt werden. Ausserdem kann SSP aus einer Liste von Hintergründen zufällig einen auswählen. Diese Eigenschaften machen es OCR Programmen deutlich schwerer das Captcha zu knacken.

Durch diese Änderung wurde 1 von 3 Sicherheitslücken geschlossen:

Sicherheitslücke 1: Möglichkeit für Binärvergleich-Angriff auf die Ziffern-Grafiken. (Kritisch, da Angriff lokal am PC durchgeführt werden kann)

Module:
Skin/{skin}/RegisterView.pm

Allgemein: Indikator für ein Offline geschaltetes Board. (21.6.2008)
Für Admins und Mods gedacht. Loggt man sich über Cookies ein, ist nicht erkennbar ob das Board Offline geschaltet ist. Zumindest nicht dann, wenn man auch bei einem Offline Status das Zugangsrecht für das Board hat. Der Offline Status wird jetzt deutlich durch einen grossen roten Text "Offline!!!" signalisiert.

Module:
Sources/Lib/FUNC.pm
Skin/{skin}/Universal.cfg
Skin/{skin}/Universal.pm

ModCP: ModCP Link für [Supermoderators] in der Navi Leiste wie bei [Admins]. (21.6.2008)
Die Gruppe [Admins] hat neben dem AdminCP noch das ModCP in der Navileiste. Das sollten eigentlich auch Supermoderatoren haben. War leider nie im Source vorgesehen, deshalb nachträglich eingebaut.

Module:
Sources/Lib/FUNC.pm
Skin/{skin}/Universal.cfg
Skin/{skin}/Universal.pm

ModCP: Defaults für Anzahl Tage und Treffer. (21.6.2008)
Im ModCP müssen für die meisten Funktionen die Anzahl Tage und Anzahl Treffer eingegeben werden um überhaupt erstmal eine Liste zu bekommen für die jeweilige Funktion. Das macht nur bei Megaboards Sinn, bei kleinen Boards ist das eher kontraproduktiv. Jetzt können Defaults festgelegt werden.

Update: Jetzt bequem im ACP einstellbar. (28.8.2008)

Module:
Data/Boardinfo.cgi
Skin/{skin}/ModCPView.cfg
Skin/{skin}/ModCPView.pm
Sources/Admin/Options.pm

Allgemein: Redirect Delays einstellbar. (21.6.2008)
An vielen Stellen wird dem User oder Mod eine Meldung angezeigt. Durch ein Delay von 0 Sekunden (auch noch hardcoded!!!) bekam man diese Meldungen jedoch nur mit Glück für ein paar Millisekunden zu sehen. Im Source alle Redirect Delays jetzt variabel gestaltet und gleich auf vernünftige Defaults gestellt.

Update: Jetzt bequem im ACP einstellbar. (28.8.2008)

Module:
Data/Boardinfo.cgi
Skin/{skin}/Universal.cfg
Skin/{skin}/Universal.pm
Sources/Post.pm
Sources/Lib/FUNC.pm
Sources/Admin/Options.pm

UserCP: Im UserCP nur eigene Avatare anzeigen. (13.7.2008)
Standardmässig kann jeder im UserCP von jedem die Avatare sehen und auch auswählen. Jetzt werden alle hochgeladenen Avatare mit der Member-ID markiert und im UserCP über einen Filter alle Avatare aussortiert die einem nicht gehören.

Module:
Sources/Legends.pm
Sources/Profile.pm
Sources/UserCP/Menu.pm

Registrierung: Captcha Skript SPP jetzt vollständig in IB integriert. (14.7.2008)
Bisher war SSP nur für das generieren und anzeigen des Captchas zuständig, die Überprüfung und Fehlerbehandlung lag jedoch weiterhin bei IB. Jetzt ist SSP für alles zuständig was mit dem Captcha zu tun hat: Generierung einer Session, Generierung eines Captchas, Überprüfung und Fehlerbehandlung. Hab diese Änderung lange vor mir hergeschoben, da ich komplexe Anpassungen befürchtet habe. War aber im Prinzip nur ein kleiner chirurgischer Eingriff. Der Rest war Fleissarbeit: Neue Sprach-Variablen einbauen, Fehlermeldungen in deutsch und englisch verfassen und etliche Codezeilen deaktivieren.

Durch diese Änderung sind nun alle mir bekannten Sicherheitslücken und Bugs bez. dem original IB Captcha behoben:

Sicherheitslücke 1: Möglichkeit für Binärvergleich-Angriff auf die Ziffern-Grafiken. (Kritisch, da Angriff lokal am PC durchgeführt werden kann)

Sicherheitslücke 2: Möglichkeit für Bruteforce-Angriff auf den Captcha Hash. (Kritisch, da Angriff lokal am PC durchgeführt werden kann)

Nachtrag: Der Angriff ist sogar extrem einfach und blitzschnell wenn man eine fertige Hash Tabelle einsetzt. Ich habe zum ausprobieren selbst eine solche generiert (22MB!), die alle möglichen Hashwerte des IB Captchas enthält.

Sicherheitslücke 3: Theoretisch unendlich viele Versuche für die Eingabe des Captchas. Offenbar nur durch ein Timeout von 90 min. begrenzt. (Unkritisch, da Angriff online durchgeführt werden muss und kaum praktikabel ist, da viel zu zeitintensiv)

Bug 1: Theoretisch können sich zwei oder mehr gleichzeitig durchgeführte Registrierungen in die Quere kommen, da Captcha des Users A eventuell Ziffern vom Captcha des Users B enthalten kann und umgekehrt, also echtes Chaos. (Unkritisch, sehr unwahrscheinlich das ist... würde Yoda sagen)

Module:
Data/Boardinfo.cgi
Languages/{language}/ErrorWords.pm
Skin/{skin}/RegisterView.pm
Sources/Register.pm

UserCP: Maximale Anzahl der Tage für eine Themeneinschreibung (subscription) geändert (26.8.2008)
Standardmässig dürfen Themenabos nicht länger als 127 Tage gebucht werden. Dies hängt zusammen mit dem Datentyp TINYINT für die Felder CANCEL_SUBS und PRUNE in der MySQL Datenbank. Der Datentyp TINYINT lässt als Wert maximal 127 (vorzeichenbehaftet) zu. Diesen Datentyp mit phpMyAdmin auf SMALLINT umgestellt der als Wert maximal 32767 (vorzeichenbehaftet) zulässt. Ausserdem in den entsprechenden Modulen die Eingabefelder von 3-stellig auf 4-stellig geändert. Damit können Abos nun bis zu 9999 Tage (über 27 Jahre!) gebucht werden, müsste ganz knapp reichen. :P

Datenbank Tabellen/Felder:
member_profiles/CANCEL_SUBS
forum_subscriptions/PRUNE

Module:
INSTALL_DATA/mysql_schema.txt
Skin/{skin}/MenuView.pm
Skin/{skin}/MenuView.cfg
Sources\UserCP\Menu.pm

Forum/Topic-Abo: Post content bei Abo Benachrichtigung mitschicken per neuem Schalter deaktivierbar (27.8.08)
Normalerweise kann jeder User in den Einstellungen festlegen, ob er bei Benachrichtigung eines abonnierten Forums/Topics gleich den neuen Post mitgeschickt bekommt. Im Gegensatz zu den PMs kann dies jedoch nicht global deaktiviert werden. Darum das ganze nun als optionale Eigenschaft ausgelegt und entsprechenden Schalter mit Erklärung direkt ins ACP eingebaut wie bei den PMs auch.

Module:
Sources/Post.pm
Sources/Admin/Options.pm
Data/Boardinfo.cgi

POST/POST-Zitat: Textbox vergrössert (10.7.2009)
Gerade wenn man grössere Threads bearbeiten musste, war die winzige Textbox beim Beitrags-POST oder -Quote extrem unübersichtlich. Standardmässig war sie auf 60 Spalten und 12 Zeilen definiert, sowohl im Forum als auch Messenger. Bei beiden ist die Textbox jetzt 100*25 und hat damit endlich eine vernünftige Grösse. Die Grösse wurde dabei so gewählt, dass das bestehende Board Layout nicht zerstört wird.

Module:
Skin/{skin}/PostView.cfg
Skin/{skin}/PostView.pm

P.S: Aaaah war das angenehm z.B. diesen Post nicht mehr auf eine Briefmarke kritzeln zu müssen.  ;)

Messenger: An das Layout von Beitrags-POST angeglichen (10.7.2009)
Durch die obige Änderung, war das Layout im Messenger beim POST etwas verhauen. Ich fand schnell den Grund: Das Tabellenlayout war hier 40%/60%, beim normalen Beitrags-POST jedoch 30%/70%. Also Layout hier ebenfalls auf 30%/70% abgeändert. Das gleiche Spiel bei Massen PM. Als angenehmer Nebeneffekt sieht nun das Layout beim Beitrags-POST, Messenger-Post und Messenger-Massen-POST gleich aus.

Module:
Skin/{skin}/MessengerView.cfg
Skin/{skin}/MessengerView.pm
Sources/Massmsend.pm

Topic: Online/Offline LEDs (1.8.2009)
Die Online/Offline LEDs durch die wesentlich schöneren aus meinem XSubst ersetzt und die Texte etwas grösser gestaltet. War ja alles irgendwie so mickrig. Trotzdem ist die Dateigrösse der neuen Symbole samt Text durch geschickte Farbwahl sogar noch kleiner.

Dateien:
/iB_html/non-cgi/Skin/{skin}/images/mem_offline.gif
/iB_html/non-cgi/Skin/{skin}/images/mem_online.gif

POST: an verschiedenen Stellen erweitert um Subscript/Superscript (4.8.2009)
Der Textparser intepretiert jetzt auch die Codes für tiefgestellt und hochgestellt. Ausserdem neue Buttons für beide Formatierungen in die jeweilige Formatcode Leiste eingefügt.

Module:
/iB_html/non-cgi/Skin/{skin}/ikoncode.js
Sources/iTextparser.pm
Skin/{skin}/MenuView.cfg
Skin/{skin}/MenuView.pm
Skin/{skin}/PostView.cfg
Skin/{skin}/PostView.pm
Skin/{skin}/TopicView.cfg
Skin/{skin}/TopicView.pm

UserCP: Interessen & Signatur: Textbox vergrössert (4.8.2009)
Die Breite beider Textboxen auf 100 erhöht.

Module:
Skin/{skin}/MenuView.cfg
Skin/{skin}/MenuView.pm

Post: User-Quote geändert (5.8.2009)
Das Username und Datum über dem Quote steht und dann auch noch als normaler Text sieht reichlich besch...eiden aus. Alles was zum Quote gehört sollte auch innerhalb des Quotes stehen. Der Hack gilt leider nur für neue Posts, alte bleiben unverändert da hier der Text ja bereits in der Datenbank gespeichert ist.

Bisher sah es so aus:

(Luke_Filewalker @ 04.8.2009, 17:31)
QUOTE
Alter Quote


Jetzt sieht es so aus:

QUOTE (Luke_Filewalker @ 04.8.2009, 17:31)
Neuer Quote


Module:
Sources/iTextparser.pm

Security: Cookie Lebensdauer bei Foren-Passwörtern erhöht (17.8.2009)
Standardmässig ist das Cookie für Foren-Passwörter 1 Tag gültig. Das macht den Umgang mit Passwortgeschützten Foren aber mehr als umständlich. Darum das entsprechende Modul angepasst. In Cookies sind Foren-Passwörter nun genauso lange gültig wie Account-Passwörter, also 1 Jahr.

Module:
Sources/Forum.pm

Topic: Originalgrösse von angehängten Bildern per Mausklick (26.8.2009)
Angehängte Bilder werden im GTH Board ja global mit meinem SHOWPIC Modul auf maximial 750 Pixel Breite konvertiert und mit einem Wasserzeichen versehen. Manchmal wäre es wünschenswert bei grösseren Bildern diese im Original sehen zu können. Darum lässt sich jetzt jedes angehängte Bild anklicken und ohne Verkleinerung (aber auch mit Wasserzeichen) in einem extra Fenster betrachten.

Module:
Skin/{skin}/TopicView.cfg
Skin/{skin}/TopicView.pm

Messenger: Online/Offline Status verschoben (10.12.2009)
Im Messenger wurde bisher der Onlinestatus mit LED und Text genau zwischen Benutzername und Titel angezeigt und das auch noch ohne Abstand zum Benutzernamen und Titel was insg. ziemlich besch...eiden aussah. Jetzt wird der Onlinestatus dort angezeigt, wo er auch bei normalen Postings steht, also unterhalb der Benutzerinfos. Ausserdem mit einer Leerzeile davor.

Module:
Skin/{skin}/MessengerView.cfg
Skin/{skin}/MessengerView.pm

ModCP: User Profil Editieren nur noch ab Supermod aufwärts möglich (12.3.2011)
Foren Moderatoren, also für einzelne Foren lokal eingesetzte Moderatoren, konnten bisher die Profile aller User ändern, mit Ausnahme der Admin Profile. Foren Mods haben per Definition nur lokal begrenzte Rechte für ein individuelles Forum und so war mir das schlicht zu heiss, dass sie global Profile ändern konnten. Vor allem da sie nicht nur Member Profile sondern auch noch die Profile der Kollegen (also anderer Foren Mods) und sogar die Profile der Super Mods ändern konnten. :eek: Mir ein völliges Rätsel was sich die IB Coder dabei gedacht haben! Leider bietet IB keine Standardmöglichkeit diese Rechte für Foren Mods einzuschränken und so habe ich das jetzt kurzerhand hardcodet im Source eingebaut, dass nur noch Supermods und Admins Profile editieren können.

Module:
Sources/ModCP.pm

Allgemein: Einfaches Umschalten zwischen Deutsch/Englisch (20.3.2011)
Da Standard Skin und Standard Language Deutsch ist, tun sich natürlich nicht-Deutsch sprechende User vor allem bei der Registrierung schwer. Hat sich ein User erstmal registriert, kann er jederzeit die Sprache und Skin festlegen. Allerdings muss er dazu auch erstmal die Registrierung hinkriegen und dann noch die Einstellungen finden. Da ich die Standards aber nicht auf Englisch ändern will, habe ich eine einfache Umschaltmöglichkeit eingebaut. Dazu ein eigenes kleines Perl Skript geschrieben welches einfach die Werte für Skin und Language im Cookie ändert. In den Skins dann oben rechts eine Flagge für jeweils Deutsch und Englisch integriert mit dem komfortabel das Skript aufgerufen werden kann. Das Skript ändert dann das Cookie und führt anschliessend eine automatische Weiterleitung zum Board durch.

Module:
Skin/{skin}/Universal.cfg
Skin/{skin}/Universal.pm
cgi-bin/change_language.pl


Bearbeitet von Luke_Filewalker am 10.4.2011, 15:14

--------------
Luke 'GTH' Filewalker
...may the backup be with you - always!
Zitat: "Nicht gesicherte Dateien dürfen als gelöscht betrachtet werden"
Offline
Top of Page Profile Contact Info WEB 
 Beitrag Nummer: 2
Luke_Filewalker Search for posts by this member.
Bastard Operator From Hell
Avatar

TeamIcon

Gruppe: Administrators
Beiträge: 891
Seit: 23.12.2005
PostIcon Geschrieben: 10.4.2011, 15:09 Skip to the previous post in this topic.  Ignore posts   

Diese Liste war lange Zeit ein rein internes Dokument. Da vielleicht der eine oder andere IB Betreiber Interesse an einem der Hacks haben könnte, entschied ich mich jetzt, es in den öffentlichen Bereich zu verschieben.

Bearbeitet von Luke_Filewalker am 10.4.2011, 15:15

--------------
Luke 'GTH' Filewalker
...may the backup be with you - always!
Zitat: "Nicht gesicherte Dateien dürfen als gelöscht betrachtet werden"
Offline
Top of Page Profile Contact Info WEB 
1 Antworten seit 14.7.2008, 20:43 < Älteres Thema | Neueres Thema >

[ bei Antworten benachrichtigen :: per E-Mail senden :: Thema ausdrucken ]


Alle Beiträge auf einer Seite
new topic new poll