mikrocontroller.net

Forum: PC Hard- und Software Schreiben in Datenbank auch ohne Schreib rechte


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Frank Neumann (Gast)


Bewertung
-3 lesenswert
nicht lesenswert
Hallo,

Ist es möglich mit einer Datenbank Anwendung in eine Datenbank zu 
schreiben, auch wenn man keine Schreibrechte hat sondrrn nur lese 
rechte?

von mech (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Nein.

von Mersin (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mit einfachem SQL über die Konsole erstmal nicht. Keine Hände, keine 
Kekse...
Wobei es zu beachten gilt, dass man durchaus nur Leserechte für eine 
_Datenbank_ haben kann, für bestimmte _Tabellen_ aber explizit auch 
Lese+Schreib-Rechte.

Etwas genauer muss man hinsehen, wenn Stored Procedures im Spiel sind. 
Dann kommt es darauf an, wie diese definiert sind.

von Rolf M. (rmagnus)


Bewertung
0 lesenswert
nicht lesenswert
mech schrieb:
> Nein.

Das ist die kurze Antwort. Die lange Antwort ist: Ja.

von mech (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Rolf M. schrieb:
> Die lange Antwort ist: Ja.

Die lange Antwort ist eher: Ja vielleicht kurzfristig, aber spätestens 
beim Neustart des Geräts ist die Änderung futsch, weil die Berechtigung 
diese vom RAM raus auf die Platte zu schreiben fehlt.

Solange alles im RAM bleibt, bitte.

von Programmierer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Durch Ausnutzen von Sicherheitslücken kann man die Beschränkung ggf. 
umgehen. Die Frage ist so wie: "Kann man eine verschlossene Tür ohne 
Schlüssel öffnen?"

von mb (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Programmierer schrieb:
> Durch Ausnutzen von Sicherheitslücken kann man die Beschränkung ggf.
> umgehen.

Durch das Ausnutzen von Sicherheitslücken erhält man Schreibrechte, dann 
passt die Frage aber nicht mehr zur Antwort.

Programmierer schrieb:
> "Kann man eine verschlossene Tür ohne
> Schlüssel öffnen?"

Der Vergleich hinkt, eine Tür kann man ja tatsächlich z.B. mit roher 
Gewalt öffnen, ohne das IRGENDJEMAND einen Schlüssel besitzt.

Ohne jegliche Schreibrechte (und wenn es die eines anderen sind) wird's 
mit der Datenbank aber nichts.

von Programmierer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
mb schrieb:
> Durch das Ausnutzen von Sicherheitslücken erhält man Schreibrechte,

Was wenn man per Buffer Overflow oder SQL Injection direkt in die Daten 
schreibt, ohne dass irgendwo eingetragen wird dass man Zugriffsrechte 
hat?

mb schrieb:
> Ohne jegliche Schreibrechte (und wenn es die eines anderen sind) wird's
> mit der Datenbank aber nichts.

Es sei denn man nutzt Sicherheitslücken in der Anwendung, im DBMS und 
ggf. im Kernel aus. Im Zweifelsfall indem man den kompletten Code zum 
Schreiben injiziert, wenn zuvor gar kein Schreib-mechanismus vorhanden 
war....

von mb (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Programmierer schrieb:
> Was wenn man per Buffer Overflow oder SQL Injection direkt in die Daten
> schreibt, ohne dass irgendwo eingetragen wird dass man Zugriffsrechte
> hat?

Dann benutzt man damit die Schreibrechte eines anderen. Also hat man 
Schreibrechte (nur eben welche, die man nicht haben sollte, das ist ja 
der Witz)

Programmierer schrieb:
> Es sei denn man nutzt Sicherheitslücken in der Anwendung, im DBMS und
> ggf. im Kernel aus. Im Zweifelsfall indem man den kompletten Code zum
> Schreiben injiziert, wenn zuvor gar kein Schreib-mechanismus vorhanden
> war....

Same same.

Wenn wirklich nichts und niemand auf dem System Schreibrechte hat, dann 
ist es sicher. Aber auch i.d.R. vollkommen nutzlos.

von Sebastian S. (amateur)


Bewertung
0 lesenswert
nicht lesenswert
Die Datenbankschnittstelle sollte dies eigentlich verhindern!

Ist ja auch der Grund dafür, dass verschiedene Rechte vergeben werden 
(können).

Bei einer schluderig eingestellten Maschine kann es allerdings sein das 
Du, so Du in den Datenverzeichnissen, schreibenden Zugriff hast, 
sozusagen durch die Hintertür die Daten ändern kannst. Ein kleiner 
Fehler an dieser Stelle kann aber auch die Suche nach dem letzten Backup 
auslösen.

Ich gehe aber mal davon aus, dass Du weder an Deine letzte Beurteilung 
noch an Deinen Gehaltseintrag noch an die Noten Deiner letzten Klausur 
herankommst.

von mb (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Sebastian S. schrieb:
> Ich gehe aber mal davon aus, dass Du weder an  [...] noch an die Noten Deiner 
letzten Klausur
> herankommst.

Lustigerweise gab es da an meiner ehemaligen Hochschule jahrelang eine 
Lücke: Man konnte schon vor Notenbekanntgabe mit einem Trick auf die 
Datenbank zugreifen, von wo aus diese später online angezeigt wurden. 
Schreibend!

Zwar war das getrennt von den Noten, die dann später zur Erzeugung des 
Abschlusszeugnisses verwendet wurden, hatte also erstmal keinen Effekt 
außer Selbstbeschiss.

Man munkelt jedoch dass es einige Studenten geschafft haben auf Basis 
der falschen Noten die dort dann (auch dem Prüfungsamt und den 
Professoren) angezeigt wurden das eigene Abschlusszeugnis anzufechten 
und den Schnitt etwas aufzubessern.

A lá "Da ist wohl was verrutscht, sehen Sie, eigentlich hatte ich in 
Modul XY eine 1,3, keine 3,7, können sie mir das nochmal neu ausstellen? 
*Augenklimper :)*"

von Axel S. (a-za-z0-9)


Bewertung
0 lesenswert
nicht lesenswert
Rolf M. schrieb:
> mech schrieb:
>> Nein.
>
> Das ist die kurze Antwort. Die lange Antwort ist: Ja.

Nein.

Natürlich ist die Frage an sich schon unsinnig.

"Keine Schreibrechte haben" bedeutet ja gerade, nicht schreiben zu 
können. Wenn man ohne Schreibrechte schreiben könnte, wäre das ganze 
Rechtesystem unwirksam und damit sinnlos.

Und die Frage ist auch viel zu unspezifisch. Es gibt gefühlt Hunderte 
Datenbanken (zumindest Dinge, die den Namen "Datenbank" tragen). Kein 
Zweifel, darunter sind sicher auch etliche, deren Rechtesystem kaputt 
ist. Vielleicht sogar welche, bei denen man mit irgendwelchen Tricks 
trotz fehlender Rechte schreiben kann. Aber die Frage war ja sehr 
allgemein formuliert. Und im allgemeinen Fall gibt es dann nur die 
(bereits gegebene) allgemeine Antwort, die lautet "Nein".

: Bearbeitet durch User
von Programmierer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
mb schrieb:
> Wenn wirklich nichts und niemand auf dem System Schreibrechte hat, dann
> ist es sicher

Wieso das? Selbst wenn das DBMS und der Festplatten Treiber gar keine 
Schreibfunktion haben, und daher niemand Schreibrechte haben kann, kann 
man ggf. trotzdem diese Funktionen unter Ausnutzung von 
Sicherheitslücken einschleusen und damit dann eben doch schreiben.

von Rolf M. (rmagnus)


Bewertung
0 lesenswert
nicht lesenswert
Axel S. schrieb:
> Natürlich ist die Frage an sich schon unsinnig.

Ja.

> "Keine Schreibrechte haben" bedeutet ja gerade, nicht schreiben zu
> können. Wenn man ohne Schreibrechte schreiben könnte, wäre das ganze
> Rechtesystem unwirksam und damit sinnlos.

Oder es hätte eben einen Fehler, oder man schafft es, auf eine Weise an 
das System zu kommen, für die das Rechtesystem nicht ausgelegt ist. Oder 
es ist einfach falsch konfiguriert. Oder das darunterliegende System hat 
einen Fehler.

> Und die Frage ist auch viel zu unspezifisch. Es gibt gefühlt Hunderte
> Datenbanken (zumindest Dinge, die den Namen "Datenbank" tragen). Kein
> Zweifel, darunter sind sicher auch etliche, deren Rechtesystem kaputt
> ist. Vielleicht sogar welche, bei denen man mit irgendwelchen Tricks
> trotz fehlender Rechte schreiben kann.
> Aber die Frage war ja sehr allgemein formuliert.

Eben, und die Antwort kann deshalb nur dann "nein" sein, wenn es auf der 
ganzen Welt keine einzige Datenbank gibt, bei der das geht.

von mech (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Programmierer schrieb:
> kann man ggf. trotzdem diese Funktionen unter Ausnutzung von
> Sicherheitslücken einschleusen

... und somit Schreibrechte erreichen. Und dann kann man natürlich 
schreiben. Aber dann schreibt man ja nicht ohne Schreibrechte.

In der IT heißt "Schreibrecht" nunmal nicht, dass man rechtlich oder 
ethisch gesehen schreiben darf, sondern einfach nur, dass das System es 
zulässt. Egal ob diese Möglichkeit vorgesehen war.

Ich weiß das ist Haarspalterei, aber die Frage ist nunmal, wie sie ist.

Hast du keine Schreibrechte, kannst du nicht schreiben.
Erschleichst du dir irgendwie Schreibrechte, kannst du schreiben.

von Programmierer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
mech schrieb:
> In der IT heißt "Schreibrecht" nunmal nicht, dass man rechtlich oder
> ethisch gesehen schreiben darf, sondern einfach nur, dass das System es
> zulässt.

Hast du dafür eine Quelle? Ich hätte gedacht, dass z.B. bei RDBMS 
Schreibrechte sich auf die Rechte beziehen, die man z.B. über die 
"GRANT" Befehle erteilt. Bei Unix können sich die Rechte auf das 
beziehen, was man per "chmod" oder SELinux-Policy erteilt. Aber per 
Sicherheitslücke lässt sich das ggf. umgehen, und dann geht es eventuell 
trotz nicht derart erteilter Rechte.
Da z.B. die Festplatte gar keine Rechte-Verwaltung kennt, ist der 
Begriff "Rechte" auf dieser Ebene hinfällig (alle können schreiben, 
solange sie Befehle z.B. per SATA senden können). Per eingeschleustem 
Code könnte man diese Befehle senden. Somit hatte keinerlei 
Rechte-Verwaltung ihre Finger im Spiel, und somit hatte man auch keine 
Schreibrechte.

Ja ich weiß, es gibt HDD-Passwörter, aber das verlagert das Problem nur.

von mech (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Programmierer schrieb:
> Ich hätte gedacht, dass z.B. bei RDBMS Schreibrechte sich auf die Rechte
> beziehen, die man z.B. über die "GRANT" Befehle erteilt. Bei Unix können
> sich die Rechte auf das beziehen, was man per "chmod" oder
> SELinux-Policy erteilt.

Mag sein, damit beschränkst du die Fragestellung aber auf eben diese 
Sorte Rechte. Die Frage des TO tut das eben nicht.

Da ist nur die Rede von "Schreibrechten" allgemein, also allen 
Möglichkeiten zu Schreibzugriff jeder Art.

Programmierer schrieb:
> Hast du dafür eine Quelle?

Nein. Aber wie gesagt, es ist eh Haarspalterei. Ein beschreibbares 
Medium wirst du eher selten anbinden ohne dass irgendwer im System auch 
Schreibzugriff ("Schreibrecht") hat.

Ausnahme wäre vll. Datensicherung oder -recovery, wo man die Quelle auf 
keinen Fall versehentlich modifizieren will.

Da gibt es Hardware, die jeden Schreibzugriff unterbindet. Garantiert.

von Rolf M. (rmagnus)


Bewertung
0 lesenswert
nicht lesenswert
mech schrieb:
> Programmierer schrieb:
>> Hast du dafür eine Quelle?
>
> Nein. Aber wie gesagt, es ist eh Haarspalterei. Ein beschreibbares
> Medium wirst du eher selten anbinden ohne dass irgendwer im System auch
> Schreibzugriff ("Schreibrecht") hat.

Das heißt aber noch nicht, dass man dessen Rechte verwenden muss, um zu 
schreiben. Wenn man es schafft, am Rechtesystem vorbei zu kommen, kann 
man ggf. auch schreiben, ohne dass man selbst das Schreibrecht hat und 
ohne dass man das Schreibrecht eines anderen dazu nutzt.
Analog dazu kann man in ein verschlossenes Haus auch rein kommen, ohne 
dass man einen eigenen Schlüssel hat und ohne dass man den eines anderen 
verwendet, indem man schlicht die Tür aufbricht.

von georg (Gast)


Bewertung
0 lesenswert
nicht lesenswert
mech schrieb:
> Da ist nur die Rede von "Schreibrechten" allgemein, also allen
> Möglichkeiten zu Schreibzugriff jeder Art.

Das mag der TO so formuliert haben, ist aber eine sinnlose 
Fragestellung: jede Datenbank hat eine physikalische Repräsentation, 
meistens Binärdaten in Sektoren der Festplatte, und natürlich kann man 
da was reinschreiben, wenn man weiss was zu tun ist - zugegebenermassen 
sind die Möglichkeiten beschränkt. Ich habe gestern 2 Festplatten zum 
Verkauf mit Killdisk gelöscht, da interessiert kein Rechtesystem 
irgenwelcher Art, und noch einfacher nimmt man einen starken Magneten. 
Die uneingeschränkt allgemeine Frage "kann man in eine Datenbank 
schreiben" ist also nicht sinnvoll zu beantworten.

Georg

von Sebastian S. (amateur)


Bewertung
0 lesenswert
nicht lesenswert
Ein Freitagspost von echtem Schrot und Korn - wenn auch etwas früh 
abgeschickt.

Eine unklar formulierte Frage, die jeder nach eigenem Gusto 
interpretieren kann und das auch tut.

Also nur noch den vielen Senf wegwischen und die vielen, gespaltenen 
Haare aus dem Weg kehren und weiter geht’s.
Wenigstens bis Sonntagabend muss aber durchgehalten werden.

von mb (Gast)


Bewertung
0 lesenswert
nicht lesenswert
georg schrieb:
> Das mag der TO so formuliert haben, ist aber eine sinnlose
> Fragestellung

Jo, das waren auch die ursprünglichen Antworten, die restliche 
Diskussion hat sich dann wohl an unterschiedlichen persönlichen 
Definitionen von "Schreibrecht" aufgehangen :)

von Auweia (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Man kann sich auch, auf Debiansystemen besonders einfach, das
Datenbankadminpasswort besorgen.
Damit ist Schreiben ueberhaupt kein Problem :-).

von Hugo H. (hugohurtig1)


Bewertung
-1 lesenswert
nicht lesenswert
Auweia schrieb:
> auf Debiansystemen besonders einfach

Tss, tss, tss - wo Linux doch so sicher ist.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.