Common Exploiting Problems
FDs katika Kudukua Kijijini
Unapotuma dudu kwa seva ya mbali ambayo inaita system('/bin/sh')
kwa mfano, hii itatekelezwa katika mchakato wa seva kwa hakika, na /bin/sh
itatarajia kuingia kutoka stdin (FD: 0
) na itachapisha matokeo kwenye stdout na stderr (FDs 1
na 2
). Kwa hivyo, mkaidi hataweza kuingiliana na kifaa cha amri.
Njia ya kusuluhisha hii ni kudai kwamba wakati seva ilipoanza iliumba FD nambari 3
(kwa kusikiliza) na kwamba basi, uunganisho wako utakuwa katika FD nambari 4
. Kwa hivyo, ni rahisi kutumia syscall dup2
kuzidisha stdin (FD 0) na stdout (FD 1) katika FD 4 (ile ya uunganisho wa mkaidi) hivyo itawezekana kuwasiliana na kifaa cha amri mara tu itakapotekelezwa.
Socat & pty
Tafadhali kumbuka kuwa socat tayari inahamisha stdin
na stdout
kwa soketi. Walakini, mode ya pty
inajumuisha wahariri wa KUFUTA. Kwa hivyo, ikiwa unatuma \x7f
(KUFUTA
-) ita kufuta herufi iliyotangulia ya shambulio lako.
Ili kuepuka hili, herufi ya kutoroka \x16
lazima iwekwe mbele ya yoyote \x7f
iliyotumwa.
Hapa unaweza kupata mfano wa tabia hii.
Last updated