Pointer Redirecting
String pointers
Ikiwa wito wa kazi unatarajiwa kutumia anwani ya string iliyoko kwenye stack, inawezekana kutumia overflow ya buffer ili kuandika tena anwani hii na kuweka anwani ya string tofauti ndani ya binary.
Ikiwa kwa mfano wito wa kazi wa system
unatarajiwa kutumia anwani ya string ili kutekeleza amri, mshambuliaji anaweza kuweka anwani ya string tofauti kwenye stack, export PATH=.:$PATH
na kuunda kwenye saraka ya sasa script yenye jina la herufi ya kwanza ya string mpya kwani hii itatekelezwa na binary.
Unaweza kupata mfano wa hii katika:
32bit, badilisha anwani ya string ya bendera kwenye stack ili ipprintwe na
puts
Function pointers
Vivyo hivyo na pointer za string lakini zinatumika kwa kazi, ikiwa stack ina anwani ya kazi ambayo itaitwa, inawezekana kuibadilisha (mfano, kuita system
).
Unaweza kupata mfano katika:
References
Last updated