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