nginx 1.18.0
tcp/443
Exposing Swagger/OpenAPI documentation is primarily a risk if your API has underlying security flaws, as it gives attackers a precise roadmap to find them.
Those detail every endpoint, parameter, and data model, making it easier to discover and exploit vulnerabilities like broken access control or injection points.
While a perfectly secure API mitigates the danger, protecting your documentation is a critical layer of defense that forces attackers to work without a map.
Severity: info
Fingerprint: 5733ddf49ff49cd1bf890109bf890109bf890109bf890109bf890109bf890109
Public Swagger UI/API detected at path: /api-docs/swagger.json
Open service 49.12.206.132:443 · interview-task.zendev.se
2026-01-09 20:35
HTTP/1.1 200 OK
Server: nginx/1.18.0
Date: Fri, 09 Jan 2026 20:35:18 GMT
Transfer-Encoding: chunked
Connection: close
X-Powered-By: Express
Access-Control-Allow-Origin: *
Set-Cookie: connect.sid=s%3A_U64TeI1I6b4KZUd8Mt5yQ0jR_C4_UWO.RnOD8JEyaUXFcHgrZ%2FwW%2BcaIoP9y74P4opqpxv0UyfU; Path=/; Expires=Sat, 10 Jan 2026 20:35:18 GMT; HttpOnly
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content=
"width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<link rel="stylesheet" type="text/css" href="/css/main.css">
</head>
<body style="background: #39D39F; padding-top: 50px; height: 100vh;">
<div class="container">
<div class="login-wrap center" style="max-width: 300px; margin: 0 auto;">
<div class="login100-pic">
<img src="https://zendev.se/images/logo-white.png" style="max-width: 300px;">
</div>
<form action="/user" method="post" class="login100-form" style="padding-top: 50px;">
<div class="wrap-input100">
<input class="input-field" type="text" name="username" id="username" placeholder="Enter Username" autocomplete="off">
</div>
<div class="wrap-input100">
<input class="input-field" type="password" name="password" id="password" placeholder="Enter Password" autocomplete="off">
</div>
<div class="container-login100-form-btn">
<input type="submit" value="LogIn" class="btn">
</div>
</form>
</div>
</div>
<script src="/js/ace/ace.js" type="text/javascript" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<script src="/js/main.js"></script>
</body>
</html>
Open service 49.12.206.132:443 · interview-task.zendev.se
2026-01-03 00:32
HTTP/1.1 200 OK
Server: nginx/1.18.0
Date: Sat, 03 Jan 2026 00:32:16 GMT
Transfer-Encoding: chunked
Connection: close
X-Powered-By: Express
Access-Control-Allow-Origin: *
Set-Cookie: connect.sid=s%3Amy7Dk1rNV2mREM8pR1bGfqP0luSuz-xC.%2FQPA%2BJe5Vcp2kckO%2F0UfDM4Rci6XyXKxTebXzgTdT%2BE; Path=/; Expires=Sun, 04 Jan 2026 00:32:16 GMT; HttpOnly
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content=
"width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<link rel="stylesheet" type="text/css" href="/css/main.css">
</head>
<body style="background: #39D39F; padding-top: 50px; height: 100vh;">
<div class="container">
<div class="login-wrap center" style="max-width: 300px; margin: 0 auto;">
<div class="login100-pic">
<img src="https://zendev.se/images/logo-white.png" style="max-width: 300px;">
</div>
<form action="/user" method="post" class="login100-form" style="padding-top: 50px;">
<div class="wrap-input100">
<input class="input-field" type="text" name="username" id="username" placeholder="Enter Username" autocomplete="off">
</div>
<div class="wrap-input100">
<input class="input-field" type="password" name="password" id="password" placeholder="Enter Password" autocomplete="off">
</div>
<div class="container-login100-form-btn">
<input type="submit" value="LogIn" class="btn">
</div>
</form>
</div>
</div>
<script src="/js/ace/ace.js" type="text/javascript" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<script src="/js/main.js"></script>
</body>
</html>
Open service 49.12.206.132:443 · interview-task.zendev.se
2025-12-22 18:27
HTTP/1.1 200 OK
Server: nginx/1.18.0
Date: Mon, 22 Dec 2025 18:27:35 GMT
Transfer-Encoding: chunked
Connection: close
X-Powered-By: Express
Access-Control-Allow-Origin: *
Set-Cookie: connect.sid=s%3AObhhQ6sEWV91pH-LYb_Wxaf9oW89x120.AOGO%2BpHSzjIr37jfRbsYxawnhYWV3V5gp92y45mOQyo; Path=/; Expires=Tue, 23 Dec 2025 18:27:35 GMT; HttpOnly
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content=
"width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<link rel="stylesheet" type="text/css" href="/css/main.css">
</head>
<body style="background: #39D39F; padding-top: 50px; height: 100vh;">
<div class="container">
<div class="login-wrap center" style="max-width: 300px; margin: 0 auto;">
<div class="login100-pic">
<img src="https://zendev.se/images/logo-white.png" style="max-width: 300px;">
</div>
<form action="/user" method="post" class="login100-form" style="padding-top: 50px;">
<div class="wrap-input100">
<input class="input-field" type="text" name="username" id="username" placeholder="Enter Username" autocomplete="off">
</div>
<div class="wrap-input100">
<input class="input-field" type="password" name="password" id="password" placeholder="Enter Password" autocomplete="off">
</div>
<div class="container-login100-form-btn">
<input type="submit" value="LogIn" class="btn">
</div>
</form>
</div>
</div>
<script src="/js/ace/ace.js" type="text/javascript" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<script src="/js/main.js"></script>
</body>
</html>
Open service 49.12.206.132:443 · interview-task.zendev.se
2025-12-20 18:58
HTTP/1.1 200 OK
Server: nginx/1.18.0
Date: Sat, 20 Dec 2025 18:58:05 GMT
Transfer-Encoding: chunked
Connection: close
X-Powered-By: Express
Access-Control-Allow-Origin: *
Set-Cookie: connect.sid=s%3ATxgL-1G-VSEjsvEPB-nFyTCzIKmOcTpW.CjN8T%2F9moial8bFC427nW3JAFq%2Frt4MEfzNAZ5B%2BfoU; Path=/; Expires=Sun, 21 Dec 2025 18:58:05 GMT; HttpOnly
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content=
"width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<link rel="stylesheet" type="text/css" href="/css/main.css">
</head>
<body style="background: #39D39F; padding-top: 50px; height: 100vh;">
<div class="container">
<div class="login-wrap center" style="max-width: 300px; margin: 0 auto;">
<div class="login100-pic">
<img src="https://zendev.se/images/logo-white.png" style="max-width: 300px;">
</div>
<form action="/user" method="post" class="login100-form" style="padding-top: 50px;">
<div class="wrap-input100">
<input class="input-field" type="text" name="username" id="username" placeholder="Enter Username" autocomplete="off">
</div>
<div class="wrap-input100">
<input class="input-field" type="password" name="password" id="password" placeholder="Enter Password" autocomplete="off">
</div>
<div class="container-login100-form-btn">
<input type="submit" value="LogIn" class="btn">
</div>
</form>
</div>
</div>
<script src="/js/ace/ace.js" type="text/javascript" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<script src="/js/main.js"></script>
</body>
</html>