linux-l: Buffer-Overflow

Jan-Benedict Glaw jbglaw at lug-owl.de
Mo Apr 24 14:15:28 CEST 2000


On Mon, Apr 24, 2000 at 09:16:51AM +0200, Michael Müller wrote:
> Am Son, 23 Apr 2000 schrieb Jens Dreger:
> > 
> > Alles was Du jetzt noch machen musst, ist statt 1234567... einen
> > ausfuehrbaren Code zu uebergeben und mit etwas Glueck wird der in
> > einen Bereich geschrieben, der irgendwann zur Ausfuehrung gelangt,
> > weil da eigentlich eine Unterroutine stehen sollte.
> Und wie kommt die Unterroutine an die root-Rechte heran?

Indem das Programm schon vorher ein Server war, der unter root-Rechten
lief (...und davon gibts u.U. nicht ganz wenige...). Deshalb sind gerade
in Servern, die oft eingesetzt werden, Mechanismen implementiert, die das
verhindern (sollen). Server läuft -> Authentifizierung eines Clients ->
Server nimmt UID des users an, der sich authentifiziert hat -> Server
läutf unter verminderten Rechten (als ge-fork()-te Kopie) weiter.

Samba macht das z.B. auf diese Weise (viele andere aber auch;) Dann muß
man als Programmierer "nur" bei dem ersten Programm-Stück höllisch auf-
passen, daß man nichts übersieht, sonst das ganze Programm über.

MfG, JBG
PS: Natürlich sollte man dennoch fehlerfrei zu programieren versuchen, damit
    der Client nicht unter den Berechtigungen, die der Server dann im
    laufenden Betrieb angenommen hat, Dummfug machen kann...

-- 
Fehler eingestehen, Größe zeigen: Nehmt die Rechtschreibreform zurück!!!
/* Jan-Benedict Glaw <jbglaw at lug-owl.de> -- +49-177-5601720 */
keyID=0x8399E1BB fingerprint=250D 3BCF 7127 0D8C A444 A961 1DBD 5E75 8399 E1BB



Mehr Informationen über die Mailingliste linux-l