Archief - De topics van lang geleden

strace ping

24-05-2007, 11:59 door Anoniem, 0 reacties
Hallo!

Ik vroeg me eigenlijk iets af. In de manual van getuid staat :


The real user ID is that of the user who has invoked the program. As the
effective user ID gives the process additional permissions during execu-
tion of ``set-user-ID'' mode processes, getuid() is used to determine the
real-user-id of the calling process.

bron: http://www.hmug.org/man/2/getuid.php

Waneer je onder linux strace gebruikt en onder de shell strace ping -c 1
security.nl invoerd. Bij het uitvoeren van execve dacht ik altijd dat die daar
na getuid en setuid uitvoerde bij de execution van het programma.
En pas daarna de rest uitgevoerd werdt en verbaase me over een klein
regeltje voor de getuid en setuid hier wordt namelijk een socket function
eerder uitgevoerd zo geeft ie:

linx#/strace -c 1 security.nl
execve( "/bin/ping", [ping", "-c", 213.156.1.80"],[/* 68 vars */ ) = 0;
socket(PF_INET,SOCK_RAW,IPPROTO_ICMP) = 3
getuid32 = 0
setuid32[0] = 0
socket(PF_INET,SOCK_RAW,IPPROTO_ICMP) = 4

Hoe kan dit ? Logisch zou zijn toch als het er zo uit zag:

execve( "/bin/ping", [ping", "-c", 213.156.1.80"],[/* 68 vars */ ) = 0;
getuid32 = 0
setuid32 = 0
socket(PF_INET,SOCK_RAW,IPPROTO_ICMP) = 3
socket(PF_INET,SOCK_RAW,IPPROTO_ICMP) = 4
Nog geen reacties
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.