Common Exploiting Problems
FDs katika Utekelezaji wa Mbali
Wakati wa kutuma exploit kwa seva ya mbali inayopiga system('/bin/sh')
kwa mfano, hii itatekelezwa katika mchakato wa seva, na /bin/sh
itatarajia pembejeo kutoka stdin (FD: 0
) na itachapisha matokeo katika stdout na stderr (FDs 1
na 2
). Hivyo, mshambuliaji hataweza kuingiliana na shell.
Njia moja ya kutatua hii ni kudhani kwamba wakati seva ilianza iliunda FD nambari 3
(kwa kusikiliza) na kwamba kisha, muunganisho wako utaenda kuwa katika FD nambari 4
. Kwa hivyo, inawezekana kutumia syscall dup2
kuiga stdin (FD 0) na stdout (FD 1) katika FD 4 (ile ya muunganisho wa mshambuliaji) ili iwezewezekana kuwasiliana na shell mara itakapotekelezwa.
Socat & pty
Kumbuka kwamba socat tayari inahamisha stdin
na stdout
kwa socket. Hata hivyo, hali ya pty
inasababisha wahusika wa DELETE. Hivyo, ikiwa utatuma \x7f
( DELETE
-) it afuta wahusika wa awali wa exploit yako.
Ili kupita hili, mhusika wa kutoroka \x16
lazima aongezwe kabla ya \x7f
yoyote inayotumwa.
Hapa unaweza kupata mfano wa tabia hii.
Last updated