Jak zjistit skutecne jmeno procesu - bug

Milan Sorm xsorm na informatics.muni.cz
Středa Únor 3 12:49:08 CET 1999


Wed, Feb 03, 1999 ve 12:41:32PM +0100 Martin Mares napsal:
| Zdravim,
| 
| > Nemate nekdo ideu, jak jednoduse zjistit jmeno procesu, o kterem znam jen
| > PID ? Nejsem root, potrebuju to v C a i na systemech, kde neni /proc
| > (resp. na IRIXu /proc je, ale pro cteni jen rootem)
| > 
| > A taky jak zjistit, kdo je parent tohoto procesu ?
| > 
| > ps to nejak dela - zkusil bych se jim inspirovat, ale:
| > 
| > * potrebuji, aby to bylo prenositelne
| > * potrebuji skutecne jmeno (kdyz si nekdo prepise argv[0], abych to poznal)
| 
|    (1) Na systemech, kde neni /proc, je ps obvykle setuid a cte si primo
|        /dev/kmem.
| 
|    (2) Jedina alespon trosku prenositelna varianta je poustet si ps :-(
| 
|    (3) Na mnoha systemech proste neni neco jako "skutecne jmeno"
|        definovano.
| 
| 				Have a nice fortnight

Spatne ;-(

O co vlastne jde (musim to publikovat bez lufova souhlasu, ale co se da
delat);

Jedna se o tuhle security hole na webu:

Mam dva uzivatele, rikejme jim A a B.

A je zdatny uzivatel, udelal si web prostor zajisteny pomoci .htaccess
jmenem a heslem a ma tam cgi skripty, ktere podle REMOTE_USER rozhoduji,
jake informace uzivateli zobrazi.

B je nechutny hacker, ktery udela CGI skript, ktery na zacatku udela export
REMOTE_USER=nekdo

pak se prepne do adresare A a spusti jeho skript (napr. index.cgi) ze
zakazane oblasti.

v tom okamziku uvidi stranku ze zabezpecene oblasti s opravnenimi toho, koho
si zadal do REMOTE_USER.

resenim je pouzivat suEXEC, ale to se deje malo kdy. tak jsem chtel udelat
wrapper, ktery si overi, ze ppid je skutecne httpd nebo httpsd. jenze ten
zly hacker mohl prepsat svuj argv[0] napisem httpd nebo httpsd a pak bych to
nepoznal, proto potrebuju skutecne jmeno.

zatim to dokazu na proc filesystemech jako je linu, kde v /proc/pid/stat je
na zacatku:

PID (REALNAME) ...

a to REALNAME srovnam se zakompilovanou hodnotou.

nevim, na IRIXu jsem z /proc zmaten.

mate nekdo any idea ?

Tenhle bug me ukazal Ludek Finstrle <luf na gvid.cz>, at z toho taky neco ma.

milan
-------------------------------------------------------------
Milan Šorm  (aka John Popelník)      telefon: +420 5 41512348
B205, FI MU, Botanická 68a, Brno     sorm na informatics.muni.cz
http://www.fi.muni.cz/~sorm/         tel. domů: (05) 46211083
-------------------------------------------------------------
"U vás na Moravě prý lidi chytáte a zavíráte pod zem ?" 
          "Tož ja, na jižní do sklípků a na severní do dolů."


Další informace o konferenci Linux