Hallo, Ist es möglich mit einer Datenbank Anwendung in eine Datenbank zu schreiben, auch wenn man keine Schreibrechte hat sondrrn nur lese rechte?
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.
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.
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?"
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.
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....
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.
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.
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 :)*"
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
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.
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.
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.
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.
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.
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.
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
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.
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 :)
Man kann sich auch, auf Debiansystemen besonders einfach, das Datenbankadminpasswort besorgen. Damit ist Schreiben ueberhaupt kein Problem :-).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.