shellphish/how2heap

A repository for learning various heap exploitation techniques.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 16 minutes ago
Added to GitGenius on September 7th, 2026
Created on January 20th, 2016
Open Issues & Pull Requests: 5 (+0)
GitHub issues: Enabled
Number of forks: 1,282
Total Stargazers: 8,814 (+0)
Total Subscribers: 259 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 29 days
Stale 30+ days: 2
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

how2heap is an educational repository for learning heap exploitation techniques.

The repository addresses the challenge of understanding how to exploit heap memory vulnerabilities by providing practical, working examples of various attack methods. Each technique is implemented in C and verified against Ubuntu's Libc releases to ensure accuracy and relevance. The approach grounds learning in real-world conditions by using the same Libc versions that developers encounter in production systems, allowing learners to study actual vulnerable code paths rather than theoretical constructs.

The repository suits security researchers, penetration testers, and developers building exploit mitigations who need hands-on experience with heap attacks. It works best for those learning systematically through concrete examples rather than reading about techniques in isolation. The interactive debugging capability, which allows techniques to be stepped through in a browser using gdb, lowers the barrier to experimentation and makes it accessible to learners without complex local debugging setups.

The project maintains a focused collection of verified techniques tied to specific Ubuntu Libc versions, ensuring that examples remain functional and relevant across different system configurations. Development activity shows consistent attention to keeping techniques current with the Libc versions in active use, reflecting a commitment to practical applicability rather than historical coverage alone.