[JDBC] DB-Passwort im Klartext in .class-Datei

Diskutiere [JDBC] DB-Passwort im Klartext in .class-Datei im Developer Network Forum im Bereich Hardware & Software Forum; Hallo! Wenn ich eine Verbindung zum Beispiel zu einer MySQL-Datenbank aufbaue, finde ich nachher in der .class-Datei im Klartext Benutzernamen...
  • [JDBC] DB-Passwort im Klartext in .class-Datei Beitrag #1
M

mpopp

Aktives Mitglied
Dabei seit
14.01.2004
Beiträge
40
Reaktionspunkte
0
Hallo!

Wenn ich eine Verbindung zum Beispiel zu einer MySQL-Datenbank aufbaue, finde ich nachher in der .class-Datei im Klartext Benutzernamen und Passwort zum MySQL-Server. Das erscheint mir relativ unsicher, wenn ich ein Java-Programm weitergeben möchte.

Kann ich das irgendwie absichern? Was ist da die beste Lösung?

Schöne Grüße

mpopp
 
  • [JDBC] DB-Passwort im Klartext in .class-Datei Beitrag #2
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

schreib die PW nicht in die Klasse sondern lies es zur Laufzeit aus einer properties-Datei.

Gruss, FFNB.
 
  • [JDBC] DB-Passwort im Klartext in .class-Datei Beitrag #3
M

mpopp

Aktives Mitglied
Dabei seit
14.01.2004
Beiträge
40
Reaktionspunkte
0
Hallo!

Danke!

Ich hoffe, meine Frage ist jetzt nicht zu anfängermäßig. Wie erstelle ich so eine properties-Datei?

Schöne Grüße
mpopp
 
  • [JDBC] DB-Passwort im Klartext in .class-Datei Beitrag #4
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

eine properties-Datei ist eine einfache Textdatei nach dem Prinzip "name=wert".
Hier schreibst Du dann z.B. rein "password=meingeheimespassword".
Im Programm liest Du dann die properties-Datei ein und kannst mit dem ausgelesenen Wert von "password" arbeiten.

Gruss, FFNB.
 
  • [JDBC] DB-Passwort im Klartext in .class-Datei Beitrag #5
M

mpopp

Aktives Mitglied
Dabei seit
14.01.2004
Beiträge
40
Reaktionspunkte
0
Hmmmm, aber diese properties-Datei muss ich ja dann auch mit ausliefern (bzw. ins .jar-File dazupacken), somit kann man ja hier auch das Passwort im Klartext auslesen, oder?

Oder ist's auch hier so gedacht, dass es einmal aus'm Programm zur Laufzeit heraus geschrieben und nachher immer wieder genutzt wird? Muss ich mal ausprobieren, ob's so klappt ;).

Danke jedenfalls für den Tipp!
 
  • [JDBC] DB-Passwort im Klartext in .class-Datei Beitrag #6
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

da java code in der Regel decompilierbar ist, wirst du immer das Problem haben, dass Strings im Klartext auslesbar sind.

Ich verstehe noch nicht ganz was Du vor hast. Erklaere doch nochmal genau den Zweck des ganzen. Evtl. muss man ja ganz anders herangehen...

Gruss, FFNB.
 
  • [JDBC] DB-Passwort im Klartext in .class-Datei Beitrag #7
ZockerM

ZockerM

Verdienter Ex-Mod
Dabei seit
25.11.2000
Beiträge
2.722
Reaktionspunkte
0
Ort
/root
Hi!

Sobald du irgendwo ein Passwort speicherst, besteht die Gefahr, dass es jemand mit etwas Aufwand auslesen kann.
Aus diesem Grund wäre es bei deinem Problem ein leichtes einen Eingabe-Dialog zu erstellen, in dem der Username und das Passwort zur Laufzeit abgefragt werden. Damit hast du das Problem des Speicherns gelöst.
Alternativ kannst du es natürlich auch Verschlüsseln, was aber auf nicht 100%ig sicher ist, vor allem, weil man den Quellcode, wie FerFemNemBem schon geschrieben hat, oft dekompilieren kann.

gruß ZockerM
 
  • [JDBC] DB-Passwort im Klartext in .class-Datei Beitrag #8
M

mpopp

Aktives Mitglied
Dabei seit
14.01.2004
Beiträge
40
Reaktionspunkte
0
Ich hab momentan keine konkrete Anwendung, wo das Problem akkut wäre. Ich habe nur mal in so 'ne .class-Datei von 'ner DB-Anwendung reingeschaut und hätte erwartet, da nur Haken und Ösen zu finden, war aber dann doch etwas schockiert, als ich darin Benutzernamen und Passwort im Klartext fand. Daraufhin hat sich für mich die Frage gestellt, wie ich so eine Anwendung am besten machen würde, wenn ich die in fremde Hände geben würde - wobei mir nun immer klarer wird, daß ich in diesem Fall die Server-Daten erst zur Laufzeit erfragen kann und nirgends vorab speichern kann.
 
  • [JDBC] DB-Passwort im Klartext in .class-Datei Beitrag #9
N

NixRealFromm

Bekanntes Mitglied
Dabei seit
24.10.2001
Beiträge
424
Reaktionspunkte
0
Ort
hmpf!!! Nordpol
Hi,
am besten ist es wohl echt, wenn du eine Properties-Datei nimmst und diese Ver- und entschlüsselst.
Problem ist dabei, dass du den schlüssel, den du dann wohl brauchst, auch aus dem quellkot holen kannst. ansonsten kann man glaub ich nicht so einfach RSA-Verschlüsselung knacken ;)
 
  • [JDBC] DB-Passwort im Klartext in .class-Datei Beitrag #10
M

mpopp

Aktives Mitglied
Dabei seit
14.01.2004
Beiträge
40
Reaktionspunkte
0
Muss ich mir alles mal näher angucken ;). Danke!
 
  • [JDBC] DB-Passwort im Klartext in .class-Datei Beitrag #11
FatherFrost

FatherFrost

Moderator
Teammitglied
Dabei seit
26.11.1999
Beiträge
4.710
Reaktionspunkte
3
Ort
NorthPole
ich hab voll die idee :) du rufst nen phpscript auf das auf die db zugreift :)
 
  • [JDBC] DB-Passwort im Klartext in .class-Datei Beitrag #12
B

badm!nton

Gesperrter User
Dabei seit
21.06.2009
Beiträge
1
Reaktionspunkte
0
Programmier dir ne ordentliche API/Schnittstelle zur Datenbank, die auf deinem Server läuft. Über diese Schnittstelle lässt du dann deine Software z.B. per XML interagieren. So kann man nicht viel Mist anstellen und läuft nicht Gefahr irgendwie gebrutet zu werden.
 
  • [JDBC] DB-Passwort im Klartext in .class-Datei Beitrag #13
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Hmmmm, aber diese properties-Datei muss ich ja dann auch mit ausliefern (bzw. ins .jar-File dazupacken), somit kann man ja hier auch das Passwort im Klartext auslesen, oder?
Nein, diese Properties-Datei lieferst Du nicht mit. Wenn jemand Dein Programm benutzen will, muß er sowieso eine eigene Datenbank anlegen mit eigenem User/Passwort. Und damit er dann mit Deinem Programm seine Datenbank auch nutzen kann, trägt er seine Daten in seine Properties-Datei ein.
 
  • [JDBC] DB-Passwort im Klartext in .class-Datei Beitrag #14
H

Hackmack

Bekanntes Mitglied
Dabei seit
04.04.2009
Beiträge
47
Reaktionspunkte
0
Solange wir den Zweck des Programms nicht kennen, ist es müßig konkrete Ratschläge zu erteilen. Grundsätzlich sind Javaprogramme, die du auslieferst immer mehr oder weniger open source. Aber auch wenn nicht wäre es äußerst leichtsinnig, Clients Direktzugriff auf deine Datenbank zu erteilen. Es muss immer eine Schnittstelle dazwischenliegen, die die eingehenden Anfragen überprüft. Letztlich ist jedes Programm dekompilier- oder disassemblierbar
 
Thema:

[JDBC] DB-Passwort im Klartext in .class-Datei

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben