diff --git a/Makefile b/Makefile index 66d7bbb..905feaa 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ BASE = malloc_playground first_fit calc_tcache_idx -V2.23 = fastbin_dup fastbin_dup_consolidate fastbin_dup_consolidate fastbin_dup_into_stack house_of_einherjar house_of_force house_of_gods house_of_lore house_of_mind_fastbin house_of_orange house_of_roman house_of_spirit house_of_storm large_bin_attack mmap_overlapping_chunks overlapping_chunks overlapping_chunks_2 poison_null_byte unsafe_unlink unsorted_bin_attack unsorted_bin_into_stack -V2.24 = fastbin_dup fastbin_dup_consolidate fastbin_dup_consolidate fastbin_dup_into_stack house_of_einherjar house_of_force house_of_gods house_of_lore house_of_mind_fastbin house_of_roman house_of_spirit house_of_storm large_bin_attack mmap_overlapping_chunks overlapping_chunks overlapping_chunks_2 poison_null_byte unsafe_unlink unsorted_bin_attack unsorted_bin_into_stack +V2.23 = fastbin_dup fastbin_dup_consolidate fastbin_dup_into_stack house_of_einherjar house_of_force house_of_gods house_of_lore house_of_mind_fastbin house_of_orange house_of_roman house_of_spirit house_of_storm large_bin_attack mmap_overlapping_chunks overlapping_chunks overlapping_chunks_2 poison_null_byte unsafe_unlink unsorted_bin_attack unsorted_bin_into_stack +V2.24 = fastbin_dup fastbin_dup_consolidate fastbin_dup_into_stack house_of_einherjar house_of_force house_of_gods house_of_lore house_of_mind_fastbin house_of_roman house_of_spirit house_of_storm large_bin_attack mmap_overlapping_chunks overlapping_chunks overlapping_chunks_2 poison_null_byte unsafe_unlink unsorted_bin_attack unsorted_bin_into_stack V2.27 = fastbin_dup fastbin_dup_consolidate fastbin_dup_into_stack fastbin_reverse_into_tcache house_of_botcake house_of_einherjar house_of_force house_of_lore house_of_mind_fastbin house_of_spirit house_of_storm large_bin_attack mmap_overlapping_chunks overlapping_chunks poison_null_byte tcache_house_of_spirit tcache_poisoning tcache_stashing_unlink_attack unsafe_unlink unsorted_bin_attack unsorted_bin_into_stack V2.31 = fastbin_dup fastbin_dup_consolidate fastbin_dup_into_stack fastbin_reverse_into_tcache house_of_botcake house_of_einherjar house_of_lore house_of_mind_fastbin house_of_spirit large_bin_attack mmap_overlapping_chunks overlapping_chunks poison_null_byte tcache_house_of_spirit tcache_poisoning tcache_stashing_unlink_attack unsafe_unlink V2.32 = decrypt_safe_linking fastbin_dup fastbin_dup_consolidate fastbin_dup_into_stack fastbin_reverse_into_tcache house_of_botcake house_of_einherjar house_of_lore house_of_mind_fastbin house_of_spirit large_bin_attack mmap_overlapping_chunks overlapping_chunks poison_null_byte tcache_house_of_spirit tcache_poisoning tcache_stashing_unlink_attack unsafe_unlink safe_link_double_protect house_of_water diff --git a/glibc_2.23/fastbin_dup_consolidate.c b/glibc_2.23/fastbin_dup_consolidate.c index 30049d0..35c491f 100644 --- a/glibc_2.23/fastbin_dup_consolidate.c +++ b/glibc_2.23/fastbin_dup_consolidate.c @@ -2,7 +2,7 @@ #include #include -void main() { +int main() { // reference: https://valsamaras.medium.com/the-toddlers-introduction-to-heap-exploitation-fastbin-dup-consolidate-part-4-2-ce6d68136aa8 puts("This is a powerful technique that bypasses the double free check in tcachebin."); printf("Fill up the tcache list to force the fastbin usage...\n"); @@ -31,4 +31,6 @@ void main() { printf("The double free added the chunk referenced by p1 \n"); printf("to the tcache thus the next similar-size malloc will\n"); printf("point to p3: p3=%p, p4=%p\n\n",p3, p4); + + return 0; } diff --git a/glibc_2.27/fastbin_dup_consolidate.c b/glibc_2.27/fastbin_dup_consolidate.c index f632aa5..35af2b0 100644 --- a/glibc_2.27/fastbin_dup_consolidate.c +++ b/glibc_2.27/fastbin_dup_consolidate.c @@ -2,7 +2,7 @@ #include #include -void main() { +int main() { // reference: https://valsamaras.medium.com/the-toddlers-introduction-to-heap-exploitation-fastbin-dup-consolidate-part-4-2-ce6d68136aa8 puts("This is a powerful technique that bypasses the double free check in tcachebin."); printf("Fill up the tcache list to force the fastbin usage...\n"); @@ -38,4 +38,6 @@ void main() { printf("The double free added the chunk referenced by p1 \n"); printf("to the tcache thus the next similar-size malloc will\n"); printf("point to p3: p3=%p, p4=%p\n\n",p3, p4); + + return 0; } diff --git a/glibc_2.31/fastbin_dup_consolidate.c b/glibc_2.31/fastbin_dup_consolidate.c index f632aa5..35af2b0 100644 --- a/glibc_2.31/fastbin_dup_consolidate.c +++ b/glibc_2.31/fastbin_dup_consolidate.c @@ -2,7 +2,7 @@ #include #include -void main() { +int main() { // reference: https://valsamaras.medium.com/the-toddlers-introduction-to-heap-exploitation-fastbin-dup-consolidate-part-4-2-ce6d68136aa8 puts("This is a powerful technique that bypasses the double free check in tcachebin."); printf("Fill up the tcache list to force the fastbin usage...\n"); @@ -38,4 +38,6 @@ void main() { printf("The double free added the chunk referenced by p1 \n"); printf("to the tcache thus the next similar-size malloc will\n"); printf("point to p3: p3=%p, p4=%p\n\n",p3, p4); + + return 0; } diff --git a/glibc_2.32/fastbin_dup_consolidate.c b/glibc_2.32/fastbin_dup_consolidate.c index f632aa5..35af2b0 100644 --- a/glibc_2.32/fastbin_dup_consolidate.c +++ b/glibc_2.32/fastbin_dup_consolidate.c @@ -2,7 +2,7 @@ #include #include -void main() { +int main() { // reference: https://valsamaras.medium.com/the-toddlers-introduction-to-heap-exploitation-fastbin-dup-consolidate-part-4-2-ce6d68136aa8 puts("This is a powerful technique that bypasses the double free check in tcachebin."); printf("Fill up the tcache list to force the fastbin usage...\n"); @@ -38,4 +38,6 @@ void main() { printf("The double free added the chunk referenced by p1 \n"); printf("to the tcache thus the next similar-size malloc will\n"); printf("point to p3: p3=%p, p4=%p\n\n",p3, p4); + + return 0; } diff --git a/glibc_2.33/fastbin_dup_consolidate.c b/glibc_2.33/fastbin_dup_consolidate.c index f632aa5..35af2b0 100644 --- a/glibc_2.33/fastbin_dup_consolidate.c +++ b/glibc_2.33/fastbin_dup_consolidate.c @@ -2,7 +2,7 @@ #include #include -void main() { +int main() { // reference: https://valsamaras.medium.com/the-toddlers-introduction-to-heap-exploitation-fastbin-dup-consolidate-part-4-2-ce6d68136aa8 puts("This is a powerful technique that bypasses the double free check in tcachebin."); printf("Fill up the tcache list to force the fastbin usage...\n"); @@ -38,4 +38,6 @@ void main() { printf("The double free added the chunk referenced by p1 \n"); printf("to the tcache thus the next similar-size malloc will\n"); printf("point to p3: p3=%p, p4=%p\n\n",p3, p4); + + return 0; } diff --git a/glibc_2.34/fastbin_dup_consolidate.c b/glibc_2.34/fastbin_dup_consolidate.c index f632aa5..35af2b0 100644 --- a/glibc_2.34/fastbin_dup_consolidate.c +++ b/glibc_2.34/fastbin_dup_consolidate.c @@ -2,7 +2,7 @@ #include #include -void main() { +int main() { // reference: https://valsamaras.medium.com/the-toddlers-introduction-to-heap-exploitation-fastbin-dup-consolidate-part-4-2-ce6d68136aa8 puts("This is a powerful technique that bypasses the double free check in tcachebin."); printf("Fill up the tcache list to force the fastbin usage...\n"); @@ -38,4 +38,6 @@ void main() { printf("The double free added the chunk referenced by p1 \n"); printf("to the tcache thus the next similar-size malloc will\n"); printf("point to p3: p3=%p, p4=%p\n\n",p3, p4); + + return 0; } diff --git a/glibc_2.35/fastbin_dup_consolidate.c b/glibc_2.35/fastbin_dup_consolidate.c index f632aa5..35af2b0 100644 --- a/glibc_2.35/fastbin_dup_consolidate.c +++ b/glibc_2.35/fastbin_dup_consolidate.c @@ -2,7 +2,7 @@ #include #include -void main() { +int main() { // reference: https://valsamaras.medium.com/the-toddlers-introduction-to-heap-exploitation-fastbin-dup-consolidate-part-4-2-ce6d68136aa8 puts("This is a powerful technique that bypasses the double free check in tcachebin."); printf("Fill up the tcache list to force the fastbin usage...\n"); @@ -38,4 +38,6 @@ void main() { printf("The double free added the chunk referenced by p1 \n"); printf("to the tcache thus the next similar-size malloc will\n"); printf("point to p3: p3=%p, p4=%p\n\n",p3, p4); + + return 0; } diff --git a/glibc_2.36/fastbin_dup_consolidate.c b/glibc_2.36/fastbin_dup_consolidate.c index f632aa5..35af2b0 100644 --- a/glibc_2.36/fastbin_dup_consolidate.c +++ b/glibc_2.36/fastbin_dup_consolidate.c @@ -2,7 +2,7 @@ #include #include -void main() { +int main() { // reference: https://valsamaras.medium.com/the-toddlers-introduction-to-heap-exploitation-fastbin-dup-consolidate-part-4-2-ce6d68136aa8 puts("This is a powerful technique that bypasses the double free check in tcachebin."); printf("Fill up the tcache list to force the fastbin usage...\n"); @@ -38,4 +38,6 @@ void main() { printf("The double free added the chunk referenced by p1 \n"); printf("to the tcache thus the next similar-size malloc will\n"); printf("point to p3: p3=%p, p4=%p\n\n",p3, p4); + + return 0; } diff --git a/glibc_2.37/fastbin_dup_consolidate.c b/glibc_2.37/fastbin_dup_consolidate.c index f632aa5..35af2b0 100644 --- a/glibc_2.37/fastbin_dup_consolidate.c +++ b/glibc_2.37/fastbin_dup_consolidate.c @@ -2,7 +2,7 @@ #include #include -void main() { +int main() { // reference: https://valsamaras.medium.com/the-toddlers-introduction-to-heap-exploitation-fastbin-dup-consolidate-part-4-2-ce6d68136aa8 puts("This is a powerful technique that bypasses the double free check in tcachebin."); printf("Fill up the tcache list to force the fastbin usage...\n"); @@ -38,4 +38,6 @@ void main() { printf("The double free added the chunk referenced by p1 \n"); printf("to the tcache thus the next similar-size malloc will\n"); printf("point to p3: p3=%p, p4=%p\n\n",p3, p4); + + return 0; } diff --git a/glibc_2.38/fastbin_dup_consolidate.c b/glibc_2.38/fastbin_dup_consolidate.c index f632aa5..35af2b0 100644 --- a/glibc_2.38/fastbin_dup_consolidate.c +++ b/glibc_2.38/fastbin_dup_consolidate.c @@ -2,7 +2,7 @@ #include #include -void main() { +int main() { // reference: https://valsamaras.medium.com/the-toddlers-introduction-to-heap-exploitation-fastbin-dup-consolidate-part-4-2-ce6d68136aa8 puts("This is a powerful technique that bypasses the double free check in tcachebin."); printf("Fill up the tcache list to force the fastbin usage...\n"); @@ -38,4 +38,6 @@ void main() { printf("The double free added the chunk referenced by p1 \n"); printf("to the tcache thus the next similar-size malloc will\n"); printf("point to p3: p3=%p, p4=%p\n\n",p3, p4); + + return 0; }