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. :D 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. :D

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ß. :D 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 :shock: 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. :D

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:

Code: Alles auswählen

1|root : super_secret_plaintext_pw
 nobody : test
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? :D