포너블/Heap
double free
double free란?해당 취약점은 libc 2.23에서 발생하는 취약점으로 free를 두번 하게 되면서 생기는 오류이다.if (__builtin_expect (old == p, 0){ errstr = "double free or corruption (fasttop)"; goto errout;}이러한 코드로 인해 free를 두번 할 경우 오류가 생긴다. 하지만 만약 chunk1 해제후 chunk2를 해제하고 다시 chunk1을 해제하면 old는 chunk2이고 p는 chunk1이여서 이 오류검출을 우회할수있다. 그러면 같은 binlist에 같은 주소가 2개가 생긴다. 이렇게되면 재할당시 두개의 객체가 한 개의 주소를 가리킬수 있게 된다.#include #include int main(){ ..