yourWBB Mobile Erkennung Lite

Revolutionary Act
Titel: your-WBB Mobile Erkennung Lite
Version: 1.2
Beschreibung: Hi,

Da wir für die Umrüstanleitung ein Lite1 aufsetzen mussten habe ich die Gelegenheit direkt genutzt und den Mobile Hack geschrieben.
Die Version für das WBB2 kommt sobald ich Zeit habe an einem selbigen zu schrauben.

Nebenbei erwähnt bin ich aus dem Team nicht der begnadetste Coder,
trotzdem sollte der Hack einwandfrei funktionieren.

Was macht die Erweiterung?

Man kann im ACP einstellen welcher Style auf mobilen Geräten (Iphone und Android) angezeigt werden soll.
Der Standartstyle wird durch den angegebenen automatisch überschrieben. (Insofern man mit dem Handy/Tablet online ist.)

Wurde getestet und sollte einwandfrei funktionieren.

Update 1.0 auf 1.1

Funktionell hat sich nichts geändert, der Hack wurde nur sauberer ins WBB eingebettet.
Wenn man die 1.0 schon drin hat muss man nicht unbedingt updaten...

Update 1.1 auf 1.2

- setup.php wurde hinzugefügt
- get_style_id.php wurde hinzugefügt
- Die Funktion kann nun aktiviert und deaktiviert werden
- Die Sicherheitslücke das man Zugang zur "mobile_settings.php" hatte ohne eingeloggt zu sein, wurde behoben.
----

weiter zum Download
Revolutionary Act
Gerade das Update auf 1.1 rausgehauen.
Wie in der Beschreibung erwähnt ist das Addon nun sauberer ins WBB eingebettet, bzw. passt sich dessen Struktur an.

Viel Spaß damit! smile
derkleene
Admin Info: Dieses Posting bezieht sich auf die veraltete 1.1 Version

Dieses Ding bitte nicht einbauen.
Denn es hoch gefährlich für MySQL Injection.

Es wird in der PHP nicht abgefragt, wer Zugriff auf die Datei hat. Sprich wer also weiß das die Datei im ACP Verzeichnis hat, kann ohne Probleme darauf zugreifen (wenn das ACP nicht per .htaccess geschützt ist).

Dann werden eingegeben Input Felder direkt in die Datenbank geschireben, ohne diese vorher zu prüfen oder sonstiges.

code:
1:
$styleid = $_POST["styleid"];

code:
1:
$update_styleid = "UPDATE  bb".$n."_mobile_options SET styleid = '$styleid' WHERE id = '1'";


denn durch die einfache Eingabe von ungefähr sowas (ich schreibe nicht genau was man eingeben kann), hat man die Passwörter oder sonstiges ausgelesen aus der Datenbank:
code:
1:
';UPDATE bb1_users SET group="1" WHERE ID=222; #

schon wärt ihr Admin in dem Forum wenn eure UserID 222 wäre z.B.

Desweiteren nehmt bitte die WBB Routinen z.B. für die Datenbanken, und nicht wie man es aus Standard Programmieren kennt:
code:
1:
2:
3:
4:
5:
6:
$select_id = "SELECT styleid FROM bb".$n."_mobile_options WHERE id = 1";
$got_id = mysql_query($select_id);
while($row = mysql_fetch_object($got_id))
   {
$var_style = "$row->styleid";
   }

sondern dann bitte:
code:
1:
2:
$got_id = $db->query_first("SELECT styleid FROM bb".$n."_mobile_options WHERE id=1");
$var_style = $got_id['styleid'];

Das letztere dient nur als Beispiel, das man sich doch bitte die WBB Programmierung aneignen sollte, auch wenn das andere funktioniert.
Ich werde später bestimmt nun keine Erweiterungen mehr hier runterladen, die mal durch euch bearbeitet wurden. (würde sie dann eh selber programmieren)
Revolutionary Act
Verdammt!

Stimmt da fehlt vorallem noch die Abfrage ob man überhaupt Zugriff hat.
Bugfix(es) folgen in kürze!

Zitat:
Ich werde später bestimmt nun keine Erweiterungen mehr hier runterladen, die mal durch euch bearbeitet wurden.


Ich hab doch geschrieben das ich aus unserem Team nicht der begnadetste Programmierer bin.
Bei mir ist das nur "Hobbymäßig". Ich mach auch sicher keine Security Patches. großes Grinsen
Revolutionary Act
So, das Update ist raus.
Hab gleich noch paar neue Features mit eingebaut.

Das wichtigste jedoch ist das die Sicherheitslücke behoben wurde womit man
ohne eingeloggt zu sein die "mobile_settings.php" aufrufen konnte.

Ich denke wenn ich dann die WBB2 Version bastle pass ich diese Version nochmal ein bisschen mehr
an so wie derkleene vorgeschlagen hat. (Noch mehr am WBB orientiert.)

Viel Spaß mit dem Hack! smile
derkleene
Auf die schnelle mal geändert, wie es aussehen könnte. Noch nicht perfekt, aber sehr übersichtlicher.
Vor allem an die Einrückungen denken, denn wer will nachher dann noch durch den Code durchsteigen wenn es noch mehr verschachtelt wird.

Denn so ist es übersichtlicher, wie gesagt nicht perfekt, und nicht getestet ob es geht, aber ich denke ich habe keinen Fehler eingebaut (vor allem die Variablen die direkt in die DB geschrieben werden entschärft, da dadurch immer noch SQL Injection geboten war):
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
<?php
//Addon: y****** Mobile Erkennung Lite 1.1
//Autor: Revolutionary Act
//Download: your-wbb.de
//License: GNU/General Public License

include("global.php");
isAdmin();

$styleid intval($_POST['styleid']);
$push $_POST["send"];
$post_on_off intval($_POST['on_off']);

if ($push == "send") {
    $db->query("UPDATE bb".$n."_mobile_options SET styleid = '$styleid', on_off = '$post_on_off' WHERE id='1'");
}

$result $db->query_first("SELECT styleid, on_off FROM bb".$n."_mobile_options WHERE id=1");
$var_style $result['styleid'];
$ask_on_off $result['ask_on_off'];

if ($ask_on_off == "1"){
    $on_off "checked";
    $off_on "";
}else{
    $on_off "";
    $off_on "cehcked";
}

$var_on_off_mobile "<input type=radio name=on_off value=1 $on_off>Aktivieren<br><input type=radio name=on_off value=0 $off_on>Deaktivieren";
eval("print(\"".gettemplate("mobile_settings")."\");");
?>
Revolutionary Act
Ja, so eine Vereinfachung ist natürlich nicht schlecht.
Bin halt nicht sooo der Profi und tu mich da etwas schwer.
Aber immerhin funktioniert das was ich bastle so wie es soll. Augenzwinkern

Zum Thema Injections, klar man sollte diese vermeiden ABER wenn man mal Zugang
zum ACP hat, ist eh alles zu spät.
Man kann einfach über die Avatarfunktion eine PHP Datei uploaden und diese dann ohne Probleme ausführen. z.b... geschockt
BlackCar1
Richtige Profis hier am Werk fröhlich
Revolutionary Act
Zitat:
Original von BlackCar1
Richtige Profis hier am Werk fröhlich


Zitat:
Original von Revolutionary Act
Nebenbei erwähnt bin ich aus dem Team nicht der begnadetste Coder


smile
BlackCar1
Dann lass den Scheiss komplett sein.
Revolutionary Act
Zitat:
Original von BlackCar1
Dann lass den Scheiss komplett sein.


Wieso, es funktioniert doch und die Sicherheitslücke wurde geschlossen?
Außerdem wird noch eine 1.3 Version kommen die dann auch noch etwas "schöner/vereinfachter" ist, was den Code angeht...
Syriana
Schöner Hack erstmal, danke! fröhlich

Allerdings hätte ich eine Frage dazu ... ich würde meinen Usern gerne ermöglichen, trotzdem die anderen Designs zu nutzen, sprich, dass das Board zwar erkennt, dass es sich um ein mobiles Gerät handelt, wenn man aber das mobile Design nicht nutzen mag, trotzdem wieder wechseln kann ohne dass man immer wieder auf das mobile Design zurückgeworfen wird. Ist das möglich oder ein zu großer Luxusgedanke? ^^
Revolutionary Act
Dazu müsste man im UserCP die Einstellungen um die Option "Mobile Erkennung Nutzen?" Erweitern.
folglich das der Hack nur benutzt wird wenn diese auf Ja steht.

Ist ein Feld in der DB und eine if Abfrage mehr.
Wenn ich Zeit finde kann ich ja mal ein Testboard aufsetzen und dir dann den entsprechenden Schnipsel posten.
Vielleicht hat ja auch jemand anderes schnell lust, hab leider grad viel zutun...
booksarelovly
Hallo du smile

Wir haben den Hack jetzt in unserem Board eingebaut und er funktioniert auch, allerdings will er bei einem Style nicht.

Dieser Style wurde so verändert, dass die meisten Bilder rausgenommen und durch Schrift ersetzt wurden. Jetzt ist die Frage: Könnte das das ganze irgendwie beeinflussen? Das sich das gegenseitig stört?

Wir tappen im Moment nämlich durch und durch im Dunkeln, weswegen ich dir leider auch noch nicht viel mehr Infos von unserer Seite geben kann.

Diese Dateien wurden dafür verändert: board_threadbit.tpl
board_newthread.tpl
deletpost.tpl
thread_addreply.tpl
thread_postbit.tpl
thread_pm.tpl
thread_search.tpl

Wenn du damit schon was anfangen kannst, wäre das natürlich bombig ^^

Mein einziger Einfall wäre noch, dass er aus irgendeinem Grund die ID 4 nicht mag großes Grinsen Aber das wäre ja auch seltsam

Jedenfalls danke im Voraus,

Liebe Grüße,

booksarelovly
S!equenz
Sicher das es sich um die richtige ID handelt?
Vielleicht unterscheiden sich Style und Designpack ID oder so?
booksarelovly
Hm wie krieg ich das raus? ^^ Also mit dem get ID kommen wir auf Style 4 und den haben wir eingegeben. Aber ich schau mal ob das mit der DesignID stimmt.

LG
saen
Huhu,

also booksarelocly und ich sind beide Admins von dem Forum. Ich schreib dir hier noch mal.

Das Problem besteht immer noch.
Die Style und auch die Designpack ID ist jeweils die ID4. Nur die Templatepack ID beträgt 3. Aber daran kann es bestimmt nicht liegen oder? So wie ich das gesehen hab, gehts wirklich nur um die Style und Designpack ID oder?
S!equenz
So spontan fällt mir dazu leider nicht viel ein.
Habt ihr nur diese "get_style.php" zum rausfinden benutzt oder in der DB mal nachgesehen? auch mit der 3 mal probiert?

Müsste man wohl mal vor Ort nachsehen, ist ja
wohl auch der Template Hack eingebaut, vielleicht beißen die sich irgendwie?!?!

lg
Michael
sadagares
Ich hatte mich ne Weile damit beschäftigt und es liegt definitiv am Template-Hack, anders kann ich es mir nicht erklären. Habe ein Testdesign erstellt, das style, template und designpack ID gleich hat und siehe da, es funktioniert ohne Probleme smile
S!equenz
Müsste man mal ein Testforum aufsetzen und genauer schauen was sich da beisst.
Mal sehen was die Zukunft bringt. großes Grinsen

lg
Michael