|
You last visited: Today at 20:13
Advertisement
C++ Online Login-System (beratung)
Discussion on C++ Online Login-System (beratung) within the C/C++ forum part of the Coders Den category.
02/28/2012, 21:47
|
#16
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
Originally Posted by SmackJew
Nein, welche Daten sollte denn das Programm enthalten, die ein Reverser nicht sehen sollte? Da sind entweder die eingegebenen Nutzerdaten die dann über ein Hash des Passworts, welcher von der DB ans Programm zurückkommt, abgeglichen werden, oder der DB Login, und was interessiert es dich ob jemand irgendwelche read-only Logindaten deiner DB hat?
|
Dass er die Hashes selbst auslesen und eventuell knacken kann.
Außerdem sind viele nicht so schlau und machen read-only Accounts :/
Sinnvoller wäre ein PHP Script oder eine Server Anwendung, damit abstrahiert man das Login zur DB, außerdem kann der Hash so vom Server abgeglichen werden.
Habe noch kein Spiel gesehen, bei dem direkt auf die DB connected wird, damit würde man Account Dieben ja Tür und Tor öffnen oO
|
|
|
02/29/2012, 22:23
|
#17
|
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
|
Quote:
Originally Posted by MrSm!th
Dass er die Hashes selbst auslesen und eventuell knacken kann.
Außerdem sind viele nicht so schlau und machen read-only Accounts :/
Sinnvoller wäre ein PHP Script oder eine Server Anwendung, damit abstrahiert man das Login zur DB, außerdem kann der Hash so vom Server abgeglichen werden.
Habe noch kein Spiel gesehen, bei dem direkt auf die DB connected wird, damit würde man Account Dieben ja Tür und Tor öffnen oO
|
Du musst dir keinen Hash zurückgeben lassen, du kannst die Überprüfung auch über das SQL Query machen und eben nach Passwort aus der DB auswählen. Und wer über SQL root Daten auf eine DB connected um ein Query zu versenden sollte sowieso dafür bestraft werden.
|
|
|
03/01/2012, 00:21
|
#18
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Ich sprach nicht von root :/
Ein direktes Query wäre dann aber anfällig für SQL Injection.
Was ist so schlimm am Gedanken an eine Server App, die dazwischen läuft?
Wie gesagt, ich sehe selten Programme, die direkt auf die DB zugreifen, einfach, um auch gewisse Aufgaben auf den Server auszulagern, die nicht unbedingt ins Programm gehören.
|
|
|
03/01/2012, 05:54
|
#19
|
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
|
Quote:
Originally Posted by MrSm!th
Ich sprach nicht von root :/
|
Sagen wir einfach Daten mit denen man Schaden anrichten könnte.
Quote:
Originally Posted by MrSm!th
Ein direktes Query wäre dann aber anfällig für SQL Injection.
Was ist so schlimm am Gedanken an eine Server App, die dazwischen läuft?
Wie gesagt, ich sehe selten Programme, die direkt auf die DB zugreifen, einfach, um auch gewisse Aufgaben auf den Server auszulagern, die nicht unbedingt ins Programm gehören.
|
Ich arbeite momentan an einigen Modulen eines großen kommerziellen Projekts und wir leiten den Datenbank Zugriff nicht über ein extra Stück Serversoftware weiter. Aber du hast recht, das handhabt jeder anders und es spricht natürlich nichts dagegen, ich möchte nur ausdrücken das beide Möglichkeiten in der Praxis zur Anwendung kommen und für Unerfahrene der Weg um das Schreiben einer extra Serversoftware (die gerade wenn es um viele Zugriffe geht für Grünschnäbel einige Tücken bereithält) bzw. einer PHP Schnittstelle oft sehr willkommen ist.
|
|
|
03/01/2012, 23:47
|
#20
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
|
Sagen wir einfach Daten mit denen man Schaden anrichten könnte.
|
Ok.
Quote:
|
Ich arbeite momentan an einigen Modulen eines großen kommerziellen Projekts und wir leiten den Datenbank Zugriff nicht über ein extra Stück Serversoftware weiter. Aber du hast recht, das handhabt jeder anders und es spricht natürlich nichts dagegen, ich möchte nur ausdrücken das beide Möglichkeiten in der Praxis zur Anwendung kommen und für Unerfahrene der Weg um das Schreiben einer extra Serversoftware (die gerade wenn es um viele Zugriffe geht für Grünschnäbel einige Tücken bereithält) bzw. einer PHP Schnittstelle oft sehr willkommen ist.
|
Jo, das mag wohl sein, ich persönlich habs trotzdem nicht so gerne, wenn Daten in dem Programm stehen  Ob es nun random Daten von einem read-only Account oder meine geheimen Daten für den root sind.
Mal so aus Interesse: Wie schützt ihr euch dagegen, dass jeder einfach die Datenbank komplett auslesen kann?
Geht es da auch wie in diesem Fall um empfindliche, sprich User-, Daten?
Oder sind es nur News o.Ä. die sowieso jeder lesen darf?
Denn auch wenn man den Zugriff auf read-only und nur für die eine Tabelle beschränkt, ist es ja trotzdem nicht ganz optimal, dass Angreifer Zugriff auf die User Daten haben :/ Wer weiß, wie lange gewisse Hash Verfahren sicher bleiben.
Und schwierig wird das ganze doch auch, wenn Schreibzugriff nötig ist. Willst du dann echt, dass jeder einfach das Programm reversen und irgendwelche Einträge vornehmen kann? :/
|
|
|
03/02/2012, 03:49
|
#21
|
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
|
Quote:
Originally Posted by MrSm!th
Ok.
Jo, das mag wohl sein, ich persönlich habs trotzdem nicht so gerne, wenn Daten in dem Programm stehen  Ob es nun random Daten von einem read-only Account oder meine geheimen Daten für den root sind.
Mal so aus Interesse: Wie schützt ihr euch dagegen, dass jeder einfach die Datenbank komplett auslesen kann?
Geht es da auch wie in diesem Fall um empfindliche, sprich User-, Daten?
Oder sind es nur News o.Ä. die sowieso jeder lesen darf?
Denn auch wenn man den Zugriff auf read-only und nur für die eine Tabelle beschränkt, ist es ja trotzdem nicht ganz optimal, dass Angreifer Zugriff auf die User Daten haben :/ Wer weiß, wie lange gewisse Hash Verfahren sicher bleiben.
|
Schon richtig. Sind in diesem Projekt momentan nur Konfigurationswerte und Checksummen, sensible Kundendaten werden später über ein Serverplugin laufen, aber auch Sachen wie komplette Tabellen oder auch nur Spalten auszulesen, auch mit einem read-only Account, lässt sich grundsätzlich einfach verbieten (je nach Datenbank und Datenbankverwaltung natürlich). Wie ja schon besprochen wird das Problem bei diesem OP aber ohnehin bei der Einstellung der Premium Privilegien liegen.
Quote:
Originally Posted by MrSm!th
Und schwierig wird das ganze doch auch, wenn Schreibzugriff nötig ist. Willst du dann echt, dass jeder einfach das Programm reversen und irgendwelche Einträge vornehmen kann? :/
|
Accountspezifische Konfigurationsmöglichkeiten würde ich generell komplett auf einen Server auslagern, da gibt's einfach zu viel Missbrauchsgefahr.
|
|
|
03/02/2012, 17:14
|
#22
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
|
Accountspezifische Konfigurationsmöglichkeiten würde ich generell komplett auf einen Server auslagern, da gibt's einfach zu viel Missbrauchsgefahr.
|
Schon klar, aber die müssen ja auch irgendwie bedient werden :P
Und manche machen es sich einfach, indem sie alles vom Client handeln lassen und sich nicht drum kümmern, dass nicht jeder X beliebige Client direkten Write Zugriff haben sollte.
Naja ok, im großen und ganzen sind unsere Meinungen ja gar nicht so verschieden, was Sicherheit und die möglichen Lücken in diesem konkreten Fall angeht.
|
|
|
03/02/2012, 19:54
|
#23
|
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
|
Quote:
Originally Posted by MrSm!th
Schon klar, aber die müssen ja auch irgendwie bedient werden :P
Und manche machen es sich einfach, indem sie alles vom Client handeln lassen und sich nicht drum kümmern, dass nicht jeder X beliebige Client direkten Write Zugriff haben sollte.
Naja ok, im großen und ganzen sind unsere Meinungen ja gar nicht so verschieden, was Sicherheit und die möglichen Lücken in diesem konkreten Fall angeht.
|
Ganz ehrlich, ich bin auch kein Sicherheitsspezialist, ich schreibe an anderen Modulen und musste unseren auch noch nie konsultieren. Falls du interessiert bist kann ich ihn gerne 'mal aushorchen wie er zur ganzen Sache steht.
|
|
|
All times are GMT +1. The time now is 20:13.
|
|