Когда мы реализовывали переполнение буфера для атаки, мы использовали буфер для перезаписи адреса возврата функции.
Со строками форматирования, как мы видели, мы можем зайти куда угодно (стек, куча, bss, .dtors, ...), нам надо только сказать куда и что записать, и %n сделает работу за нас.