これは,CTF Advent Calendar2016の6日目の記事です. 本記事では,House of Forceというheap exploitのテクニックの解説,実践問題の解説を行ってみたいと思う. 1. House of Forceの前に House of Forceの説明をするに当って,事前に知っておくべきheap領域について復習してみよう.今回は,題材問題も32bitなので,32bitとして話を勧めていく. glibcには,heap領域を管理するためのmalloc_state構造体というものが以下のように定義されている. struct malloc_state { mutex_t mutex; int flags; mfastbinptr fastbinsY[NFASTBINS]; mchunkptr top; mchunkptr last_remainder; mchunkpt