linux-l: Buffer-Overflow
Thomas Knop
t.knop at isv-gmbh.de
Mi Apr 26 09:39:46 CEST 2000
On, Die, 25 Apr 2000, Steffen Solyga wrote:
> >%_> Als Hack wird diese zusätzliche Funktion (hier im Beispiel test1)
> > ebenfalls über den String übergeben (Assembler läßt grüßen ;-).
>
> Das verstehe ich immernoch nicht so ganz... Der Angreifer muß doch in jedem
> Falle die Startadresse seines eigenen Hacks kennen. Aber die kennt man doch
> i.allg. gar nicht.?
Der Angreifer kennt das Programm, das er angreift.
Er weiß z.B. es wurde mit der libc-x.y.z gelinkt.
Nun schaut er sich das Proggi an (im Assembler Code!), findet eine Methode
die relative Address der C-Funktion "exec" zu bestimmen, und sorgt dafür,
daß a) auf dem Stack die Adresse des Strings "/bin/sh" liegt und der
Rücksprung nicht wie im Beispiel auf test1, sondern auf "exec" landet. Lief
das angegriffenen Proggi mit root-Rechten hat man eine root-shell. Was will
man mehr ;-))
Vielleicht erklärt sich jetzt auch
a) warum Open-Source so sicher ist: Es gibt tausende von Programmieren,
die ein solches Bug in einem Proggi in wenigen Minuten beheben könne (und
es auch tuen!!!)
b) es unter Linux kaum/keine Vieren gibt (und wenn dannn im Quellcode zum
selber basteln ;-)
Gruß
Thomas
--
Thomas Knop Tel: +49-30-53433408
ISV GmbH Berlin Fax: +49-30-53433435
Am Treptower Park 75 t.knop at isv-gmbh.de
12435 Berlin http://www.isv-gmbh.de
Mehr Informationen über die Mailingliste linux-l