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