Service:
HTTP (alternate)Protocol:
TCPPort:
81Used for:
running web services on an alternate HTTP port, common on IP cameras, routers, and device admin consolesPort 81 is a common alternate HTTP port — a second web port a server uses when port 80 is already taken or deliberately kept separate. It isn’t tied to any one protocol; it just carries ordinary HTTP, so what answers on it is whatever the owner decided to run. In practice that’s usually a device admin console, a proxy, a staging site, or the web interface of an IP camera or router. Because it sits off the default web port, port 81 tends to get less scrutiny than 80 — which is exactly why scanners and IoT botnets watch it.
Why It’s Open
Nobody is “assigned” port 81 the way SSH owns 22. It’s open because someone needed a second HTTP listener and 81 is the first number after 80. You’ll run into it in a few recurring places:
- A second site or vhost next to the main one on port 80 — a control panel, a webmail login, an internal tool the admin didn’t want on the public root.
- Embedded device web UIs. This is the big one. Huge numbers of IP cameras, DVRs, and SOHO routers ship their management interface on 81 by default, often on a stripped-down embedded server like GoAhead, Boa, or thttpd.
- Appliances. Cisco Meraki MX security appliances, for example, listen on TCP 81 out of the box — enough people notice it that “why is tcp/81 open on my MX” is a recurring support question.
- Proxies and captive portals, where 81 fronts a filtering or redirect service.
Where 81 is open, its neighbours often are too — check port 80, 8080, and 8081 on the same host, and 443 if anything is meant to be encrypted.
Common Risks
- Forgotten and unpatched. An admin UI or staging app parked on a non-standard port is easy to lose track of. It stays online, stops getting updates, and nobody remembers it’s reachable from the internet.
- Default credentials. Embedded gear ships with
admin:admin,admin:password, or a vendor-specific pair, and the web UI on 81 is where you try them. - Plaintext HTTP. A login form served over
http://host:81sends the password in the clear. Anyone on the path can read it. - Pre-auth bugs in embedded servers. The tiny web servers on cameras and routers have a long history of auth-bypass and path-traversal flaws that hand over config files, credentials, or a shell before you ever log in (see the CVEs below).
- A named botnet target. Mirai-class scanners sweep 81 specifically, looking for internet-exposed IP cameras to enroll — an exposed camera panel here is found in hours, not weeks.
- Open-proxy abuse. If what’s listening is a misconfigured forward proxy, it can be used to relay traffic or reach internal hosts (SSRF-style pivoting).
Want to save time on reporting?
Let PentestPad generate, track, and export your reports - automatically.

Enumeration & Testing
Detect the service and grab the banner
nmap -sV -p 81 <target>Fingerprint the web app with the HTTP NSE scripts
nmap -p 81 --script=http-title,http-headers,http-auth,http-enum <target>Pull headers and the response — the Server: line tells you what you’re dealing with
curl -sI http://<target>:81/curl -i http://<target>:81/Identify the stack (embedded server, CMS, framework)
whatweb http://<target>:81Scan for known web flaws and misconfigurations
nikto -h <target> -p 81Brute directories and hidden endpoints
gobuster dir -u http://<target>:81/ -w /usr/share/wordlists/dirb/common.txtTest the WIFICAM camera auth bypass (CVE-2017-8225) — if system.ini comes back, the box is leaking credentials
curl "http://<target>:81/system.ini?loginuse=&loginpas="Brute-force HTTP Basic Auth if the panel prompts for one
hydra -L users.txt -P passwords.txt -s 81 http-get://<target>/Keep a note of every live panel, banner, and default-cred hit you confirm so it lands in the final pentest report rather than a scratch file.
What to Look For
| Checkpoint | What it means |
|---|---|
Server: GoAhead / Boa / thttpd in headers |
Embedded device web server — check the camera/router CVEs below |
system.ini returns with empty login params |
WIFICAM camera auth bypass — credentials exposed pre-auth (CVE-2017-8225) |
Path traversal (/images/../../ or %2e%2e) succeeds |
Arcadyan-based router bypass — read config without auth (CVE-2021-20090) |
| CGI reachable on an old GoAhead build | Candidate for the LD_PRELOAD RCE (CVE-2017-17562) |
| Basic-Auth realm or vendor login page | Try default and vendor-specific credentials |
http:// with no HTTPS offered |
Login and session data sniffable — flag for TLS |
| Proxy-style replies to absolute URLs | Possible open forward proxy — test for relay/SSRF |
Known CVEs and Exploits
- CVE-2017-8225 — The Wireless IP Camera (P2P) “WIFICAM” auth bypass. Requesting
system.iniwith emptyloginuseandloginpasparameters returns the config, including stored credentials, without logging in. It affected a huge family of rebranded GoAhead-based cameras that default to port 81. Full exploit chain in Exploit-DB 43142. CVSS 9.8. - CVE-2017-17562 — Remote code execution in the Embedthis GoAhead web server (before 3.6.5) when CGI is enabled. The server builds a forked CGI process’s environment from untrusted request parameters, so an attacker sets
LD_PRELOADto a payload posted in the request body and gets code execution. In CISA’s KEV catalog; ready to fire via Metasploit’sexploit/linux/http/goahead_ldpreloadand Exploit-DB 43877. - CVE-2021-20090 — Path traversal in the web interface of Arcadyan-based routers (Buffalo and many OEM rebrands) that lets an unauthenticated attacker bypass authentication and reach protected pages. Listed in CISA’s KEV catalog and folded into Mirai-based botnets within days of disclosure. CVSS 9.8.
Mitigation
- Don’t put embedded admin UIs on the public internet. Bind the camera, router, or appliance panel to the LAN or a VPN, and firewall port 81 down to a management range.
- Front it with TLS, or move it to 443. No login page should run over plain HTTP. If the device can’t do HTTPS itself, put it behind a reverse proxy that can — see port 443.
- Change every default credential and patch the firmware. The GoAhead and Arcadyan bugs above are fixed upstream; end-of-life cameras that will never get a patch should be retired, not exposed.
- Inventory what’s actually on 81. Treat an alternate web port with the same rigour as 80 and 443 — scan for it, document what answers, and confirm each one is meant to be reachable.
- If it’s a proxy, lock it down. Require authentication, restrict it to internal clients, and disable open forward-proxying so it can’t be used as a relay.
Real-World Example
In April 2017, port 81 went from obscure to the second-most-scanned port on the internet, behind only Telnet’s port 23. The SANS Internet Storm Center flagged the surge on 22 April (“WTF tcp port 81”), and Qihoo 360’s NetLab traced it to a new Mirai-style IoT botnet sweeping the internet on 81 for internet-exposed IP cameras. The targets were the same GoAhead-based “WIFICAM” cameras behind CVE-2017-8225 — over a thousand rebranded models running the same vulnerable firmware, most with their web interface on port 81. Trend Micro tracked a closely related camera botnet from that wave as Persirai. The bugs had been public for weeks; the botnet just industrialised them, which is the whole lesson of port 81 — an embedded web panel that nobody was watching gets found and enrolled the moment it’s reachable.
FAQ
What service runs on port 81?
There’s no single official service on port 81 — it’s a general-purpose alternate HTTP port. In the wild it most often carries a device admin console, a secondary website, a proxy, or the web interface of an IP camera or router.
What is port 81 used for?
It’s used to run a web server when port 80 is already in use or the owner wants a separate listener — for example a management UI, a staging site, or an embedded device’s control panel. It carries the same HTTP as port 80, just on a non-default number.
Is port 81 dangerous?
Port 81 isn’t dangerous by itself, but what tends to live there is. Embedded admin panels with default passwords, unpatched camera and router firmware, and login forms served over plain HTTP make an exposed port 81 a favourite target for automated IoT botnets. If you don’t know exactly what’s answering on it, treat it as a risk.
How do I close or secure port 81?
Find out what’s listening (nmap -sV -p 81 <target>), then either shut that service down or restrict it. Firewall port 81 to a management network or VPN, put the panel behind TLS, change default credentials, and patch the device firmware. If nothing needs it, stop the service and confirm the port is closed with a rescan.
TL;DR
- Service: no fixed protocol — an alternate HTTP port, most often embedded device admin UIs (cameras, routers), proxies, and secondary sites
- Default port: 81/TCP
- Biggest risk: forgotten, unpatched embedded web panels with default creds or pre-auth bugs — and Mirai-class botnets that scan 81 specifically
- Mitigation: keep it off the public internet, enforce TLS, change defaults, patch firmware, and firewall 81 to trusted hosts