Common Exploiting Problems
FD's in Afgeleë Uitbuiting
Wanneer 'n uitbuiting na 'n afgeleë bediener gestuur word wat byvoorbeeld system('/bin/sh')
aanroep, sal dit natuurlik in die bedienerproses uitgevoer word, en /bin/sh
sal insette vanaf stdin (FD: 0
) verwag en die uitset in stdout en stderr (FD's 1
en 2
) druk. Dus sal die aanvaller nie kan interaksie hê met die skaal nie.
'n Manier om dit te reg te stel, is om te veronderstel dat toe die bediener begin het, dit die FD-nommer 3
(vir luister) geskep het en dat jou verbinding dan in die FD-nommer 4
gaan wees. Daarom is dit moontlik om die syscall dup2
te gebruik om die stdin (FD 0) en die stdout (FD 1) te dupliseer in die FD 4 (die een van die aanvaller se verbinding) sodat dit moontlik is om die skaal te kontak sodra dit uitgevoer is.
Uitbuitingsvoorbeeld vanaf hier:
Socat & pty
Let daarop dat socat reeds stdin
en stdout
na die soket oordra. Die pty
modus sluit DELETE karakters in. Dus, as jy 'n \x7f
(DELETE
-) stuur, sal dit die vorige karakter van jou aanval verwyder.
Om hierdie te omseil, moet die ontsnappingskarakter \x16
voor enige \x7f
wat gestuur word, geplaas word.
Hier kan jy 'n voorbeeld van hierdie gedrag vind.
Last updated