This repository is a collection of proof-of-concept (PoC) exploit codes demonstrating various heap exploitation techniques in the GNU C Library (glibc) across versions 2.23 to 2.43. Each PoC is a standalone C program designed to be compiled and executed to showcase a specific heap corruption technique (e.g., fastbin dup, tcache poisoning, house of spirit, etc.) under controlled conditions. The primary purpose is educational, targeting security researchers, CTF participants, and students studying binary exploitation. The architecture is organized around a build system (Makefile) that compiles version-specific exploits located in directories named after glibc versions. Each exploit is self-contained with a main function, simulating heap manipulations to achieve arbitrary memory writes or code execution. Key entry points include the Makefile for building, an interactive heap exploration tool (malloc_playground.c), and a CI workflow for automated testing across multiple environments. The repository relies on glibc, build tools, and Docker for environment setup, with a submodule providing access to multiple glibc releases. The repository exhibits strong engineering practices through its reusable components: the Makefile employs wildcard and foreach functions to manage version-specific builds without duplication; malloc_playground.c offers an interactive interface for heap analysis that can be reused in other educational contexts; and the CI workflow uses a matrix strategy to test exploits across glibc and Ubuntu versions. Actively maintained with recent commits and low technical drift, the project adapts to glibc's evolving security mitigations by updating techniques for new versions, ensuring continued relevance in heap exploitation education.
The repository is a toolkit for developing exploits for Chromium vulnerabilities. It provides a modular framework where exploit chains are built by including various JavaScript modules in a specific order. The main entry point is `main.js`, which sets up the exploit chain by including utilities for conversion, DOM manipulation, stability, V8-specific operations, fingerprinting, memory manipulation, and code execution. The toolkit relies on an HTML file (`index.html`) for loading the exploit in an iframe and a Python HTTP server (`server.py`) for delivery and logging via WebSocket. The toolkit includes pre-built exploits for specific CVEs (in the `vulns/` directory) and Python tools for building, downloading symbols, and other tasks. The code demonstrates sophisticated techniques for building reliable primitives from unstable memory corruption, leaking pointers, and achieving code execution.