House of Lore | Small bin Attack
मूलभूत जानकारी
कोड
https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_lore/ से एक बार जाँच करें
यह काम नहीं कर रहा है
यह काम नहीं कर रहा है भले ही यह कुछ जाँचों को उमकरने की कोशिश करता है और त्रुटि मिलती है:
malloc(): unaligned tcache chunk detected
यह उदाहरण अभी भी काम कर रहा है: https://guyinatuxedo.github.io/40-house_of_lore/house_lore_exp/index.html
लक्ष्य
एक जाली छोटा टुकड़ा छोटे बिन में डालें ताकि इसे आवंटित किया जा सके। ध्यान दें कि जाली टुकड़ा वह है जिसे हमलावर बनाता है और न कि किसी अनियत स्थिति में एक जाली टुकड़ा।
आवश्यकताएँ
2 जाली टुकड़े बनाएं और उन्हें एक साथ और वास्तविक टुकड़े के साथ छोटे बिन में लिंक करें:
जाली0.bk
->जाली1
जाली1.fd
->जाली0
जाली0.fd
->विधि
(आपको किसी अन्य वल्न के माध्यम से मुक्त छोटे बिन टुकड़े में एक पॉइंटर में परिवर्तन करना होगा)विधि.bk
->जाली0
फिर आप जाली0
को आवंटित कर सकेंगे।
हमला
एक छोटा टुकड़ा (
विधि
) आवंटित किया जाता है, फिर एक और आवंटित किया जाता है जिससे शीर्ष टुकड़े के साथ समेकन न हो। फिर,विधि
को मुक्त किया जाता है (इसे असंचित बिन सूची में ले जाने के लिए) और एक बड़ा टुकड़ा आवंटित किया जाता है,विधि
को छोटे बिन में ले जाने के लिए।एक हमलावर एक कुछ जाली छोटे टुकड़े उत्पन्न करता है, और जोरदारता जांचों को उमकरने के लिए आवश्यक लिंकिंग करता है:
जाली0.bk
->जाली1
जाली1.fd
->जाली0
जाली0.fd
->विधि
(आपको किसी अन्य वल्न के माध्यम से मुक्त छोटे बिन टुकड़े में एक पॉइंटर में परिवर्तन करना होगा)विधि.bk
->जाली0
एक छोटा टुकड़ा आवंटित किया जाता है ताकि विधि मिले, जो
जाली0
को छोटे बिन की शीर्ष सूची में बना देता हैएक और छोटा टुकड़ा आवंटित किया जाता है,
जाली0
को टुकड़ा मिलता है, जिससे उसके अंदर पॉइंटर पढ़ने/लिखने की संभावना हो सकती है।
संदर्भ
Last updated