Schreiben in Datenbank auch ohne Schreib rechte

Gast #6133759
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.
Gast #6133822
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.
Gast #6133858
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.
Gast #6133869
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....
Gast #6133881
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.
#6133882
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.
Gast #6133921
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 :)*"
#6134722
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".
Gast #6134819
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.
#6134841
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.
Gast #6134850
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.
Gast #6134862
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.
Gast #6135193
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.
#6135276
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.
Gast #6135407
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
#6135428
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren