logo

Port 81 – HTTP Alt (Hypertext Transfer Protocol Alternate)

Service:

HTTP (alternate)

Protocol:

TCP

Port:

81

Used for:

running web services on an alternate HTTP port, common on IP cameras, routers, and device admin consoles

Port 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:81 sends 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.

logo-cta

Enumeration & Testing

Detect the service and grab the banner

Terminal window
nmap -sV -p 81 <target>

Fingerprint the web app with the HTTP NSE scripts

Terminal window
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

Terminal window
curl -sI http://<target>:81/
curl -i http://<target>:81/

Identify the stack (embedded server, CMS, framework)

Terminal window
whatweb http://<target>:81

Scan for known web flaws and misconfigurations

Terminal window
nikto -h <target> -p 81

Brute directories and hidden endpoints

Terminal window
gobuster dir -u http://<target>:81/ -w /usr/share/wordlists/dirb/common.txt

Test the WIFICAM camera auth bypass (CVE-2017-8225) — if system.ini comes back, the box is leaking credentials

Terminal window
curl "http://<target>:81/system.ini?loginuse=&loginpas="

Brute-force HTTP Basic Auth if the panel prompts for one

Terminal window
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.ini with empty loginuse and loginpas parameters 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_PRELOAD to a payload posted in the request body and gets code execution. In CISA’s KEV catalog; ready to fire via Metasploit’s exploit/linux/http/goahead_ldpreload and 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