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: 5733ddf49ff49cd1b6e67656b6e67656b6e67656b6e67656b6e67656b6e67656
Public Swagger UI/API detected at path: /swagger-ui.html
Open service 20.101.2.157:443 · studentfirst-pbi6448-admin.studentfirst.dev
2026-01-09 17:13
HTTP/1.1 200 OK
Content-Length: 3989
Connection: close
Content-Type: text/html
Date: Fri, 09 Jan 2026 17:14:18 GMT
Cache-Control: public, must-revalidate, max-age=30
ETag: "12344699"
Last-Modified: Fri, 19 Dec 2025 23:28:02 GMT
Strict-Transport-Security: max-age=10886400; includeSubDomains; preload
Referrer-Policy: same-origin
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-DNS-Prefetch-Control: off
Page title: Student First Admin
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Student First Admin</title>
<base href="/" />
<link href="css/bootstrap/bootstrap.min.css?v=25.77" rel="stylesheet" />
<link href="css/app.css?v=25.77" rel="stylesheet" />
<link href="GlobalEdTech.Sis.WebApp.SPA.styles.css?v=25.77" rel="stylesheet" />
<link href="css/studentfirst.css?v=25.77" rel="stylesheet" />
<link href="https://unpkg.com/swagger-ui-dist/swagger-ui.css" rel="stylesheet" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" href="favicon.png" />
<!--<link rel="manifest" href="/site.webmanifest">-->
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<link rel="stylesheet" href="https://unpkg.com/@progress/kendo-font-icons/dist/index.css" />
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div id="app">
<svg class="loading-progress">
<circle r="40%" cx="50%" cy="50%" />
<circle r="40%" cx="50%" cy="50%" />
</svg>
<div class="loading-progress-text"></div>
</div>
<div id="blazor-error-ui">
<div class="error-content">
<div class="error-icon">⚠️</div>
<div class="error-title" data-localize="ERROR_TITLE">Something went wrong</div>
<div class="error-message" data-localize="ERROR_MESSAGE">The Student First system encountered an issue. Please refresh the page to continue.</div>
<div class="error-actions">
<a href="" class="reload" data-localize="REFRESH_PAGE">Refresh Page</a>
<a class="dismiss">✕</a>
</div>
</div>
</div>
<script>
// Conditionally hide blazor-error-ui based on URL
(function() {
const currentUrl = window.location.href.toLowerCase();
const isDevelopment = currentUrl.includes('localhost') || currentUrl.includes('studentfirst.dev');
if (!isDevelopment) {
const errorUi = document.getElementById('blazor-error-ui');
if (errorUi) {
errorUi.style.display = 'none';
// Also prevent it from being shown by adding a CSS class override
const style = document.createElement('style');
style.textContent = '#blazor-error-ui { display: none !important; }';
document.head.appendChild(style);
}
}
})();
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js?v=25.77"></script>
<script src="https://kendo.cdn.telerik.com/2025.1.227/js/kendo.all.min.js?v=25.77"></script>
<script src="https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js"></script>
<script src="https://unpkg.com/swagger-ui-dist/swagger-ui-standalone-preset.js"></script>
<script src="_content/Telerik.UI.for.Blazor/js/telerik-blazor.js?v=25.77"></script>
<script src="_content/Microsoft.Authentication.WebAssembly.Msal/AuthenticationService.js?v=25.77"></script>
<script src="_framework/blazor.webassembly.js?v=25.77"></script>
<script src="js/kendo-ui-license (1).js"></script>
<script src="js/error-localization.js?v=25.77" charset="utf-8"></script>
<script src="js/app.js?v=25.77"></script>
<script src="js/scriptLoader.js?v=25.77"></script>
<script src="js/go.js?v=25.77"></script>
<script src="js/gojs-scripts.js?v=25.77"></script>
<script src="js/kendo-script-workflow.js?v=25.77"></script>
<script src="https://kit.fontawesome.com/4e6292f6e8.js?v=25.77" crossorigin="anonymous"></script>
<script src="_content/Telerik.ReportViewer.Blazor/interop.js?v=25.77" defer></script>
</body>
</html>
Open service 20.101.2.157:443 · studentfirst-pbi6448-admin.studentfirst.dev
2026-01-02 17:38
HTTP/1.1 200 OK
Content-Length: 3989
Connection: close
Content-Type: text/html
Date: Fri, 02 Jan 2026 17:38:27 GMT
Cache-Control: public, must-revalidate, max-age=30
ETag: "12344699"
Last-Modified: Fri, 19 Dec 2025 23:28:02 GMT
Strict-Transport-Security: max-age=10886400; includeSubDomains; preload
Referrer-Policy: same-origin
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-DNS-Prefetch-Control: off
Page title: Student First Admin
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Student First Admin</title>
<base href="/" />
<link href="css/bootstrap/bootstrap.min.css?v=25.77" rel="stylesheet" />
<link href="css/app.css?v=25.77" rel="stylesheet" />
<link href="GlobalEdTech.Sis.WebApp.SPA.styles.css?v=25.77" rel="stylesheet" />
<link href="css/studentfirst.css?v=25.77" rel="stylesheet" />
<link href="https://unpkg.com/swagger-ui-dist/swagger-ui.css" rel="stylesheet" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" href="favicon.png" />
<!--<link rel="manifest" href="/site.webmanifest">-->
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<link rel="stylesheet" href="https://unpkg.com/@progress/kendo-font-icons/dist/index.css" />
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div id="app">
<svg class="loading-progress">
<circle r="40%" cx="50%" cy="50%" />
<circle r="40%" cx="50%" cy="50%" />
</svg>
<div class="loading-progress-text"></div>
</div>
<div id="blazor-error-ui">
<div class="error-content">
<div class="error-icon">⚠️</div>
<div class="error-title" data-localize="ERROR_TITLE">Something went wrong</div>
<div class="error-message" data-localize="ERROR_MESSAGE">The Student First system encountered an issue. Please refresh the page to continue.</div>
<div class="error-actions">
<a href="" class="reload" data-localize="REFRESH_PAGE">Refresh Page</a>
<a class="dismiss">✕</a>
</div>
</div>
</div>
<script>
// Conditionally hide blazor-error-ui based on URL
(function() {
const currentUrl = window.location.href.toLowerCase();
const isDevelopment = currentUrl.includes('localhost') || currentUrl.includes('studentfirst.dev');
if (!isDevelopment) {
const errorUi = document.getElementById('blazor-error-ui');
if (errorUi) {
errorUi.style.display = 'none';
// Also prevent it from being shown by adding a CSS class override
const style = document.createElement('style');
style.textContent = '#blazor-error-ui { display: none !important; }';
document.head.appendChild(style);
}
}
})();
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js?v=25.77"></script>
<script src="https://kendo.cdn.telerik.com/2025.1.227/js/kendo.all.min.js?v=25.77"></script>
<script src="https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js"></script>
<script src="https://unpkg.com/swagger-ui-dist/swagger-ui-standalone-preset.js"></script>
<script src="_content/Telerik.UI.for.Blazor/js/telerik-blazor.js?v=25.77"></script>
<script src="_content/Microsoft.Authentication.WebAssembly.Msal/AuthenticationService.js?v=25.77"></script>
<script src="_framework/blazor.webassembly.js?v=25.77"></script>
<script src="js/kendo-ui-license (1).js"></script>
<script src="js/error-localization.js?v=25.77" charset="utf-8"></script>
<script src="js/app.js?v=25.77"></script>
<script src="js/scriptLoader.js?v=25.77"></script>
<script src="js/go.js?v=25.77"></script>
<script src="js/gojs-scripts.js?v=25.77"></script>
<script src="js/kendo-script-workflow.js?v=25.77"></script>
<script src="https://kit.fontawesome.com/4e6292f6e8.js?v=25.77" crossorigin="anonymous"></script>
<script src="_content/Telerik.ReportViewer.Blazor/interop.js?v=25.77" defer></script>
</body>
</html>
Open service 20.101.2.157:443 · studentfirst-pbi6448-admin.studentfirst.dev
2025-12-23 08:39
HTTP/1.1 200 OK
Content-Length: 3989
Connection: close
Content-Type: text/html
Date: Tue, 23 Dec 2025 08:39:40 GMT
Cache-Control: public, must-revalidate, max-age=30
ETag: "12344699"
Last-Modified: Fri, 19 Dec 2025 23:28:02 GMT
Strict-Transport-Security: max-age=10886400; includeSubDomains; preload
Referrer-Policy: same-origin
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-DNS-Prefetch-Control: off
Page title: Student First Admin
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Student First Admin</title>
<base href="/" />
<link href="css/bootstrap/bootstrap.min.css?v=25.77" rel="stylesheet" />
<link href="css/app.css?v=25.77" rel="stylesheet" />
<link href="GlobalEdTech.Sis.WebApp.SPA.styles.css?v=25.77" rel="stylesheet" />
<link href="css/studentfirst.css?v=25.77" rel="stylesheet" />
<link href="https://unpkg.com/swagger-ui-dist/swagger-ui.css" rel="stylesheet" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" href="favicon.png" />
<!--<link rel="manifest" href="/site.webmanifest">-->
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<link rel="stylesheet" href="https://unpkg.com/@progress/kendo-font-icons/dist/index.css" />
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div id="app">
<svg class="loading-progress">
<circle r="40%" cx="50%" cy="50%" />
<circle r="40%" cx="50%" cy="50%" />
</svg>
<div class="loading-progress-text"></div>
</div>
<div id="blazor-error-ui">
<div class="error-content">
<div class="error-icon">⚠️</div>
<div class="error-title" data-localize="ERROR_TITLE">Something went wrong</div>
<div class="error-message" data-localize="ERROR_MESSAGE">The Student First system encountered an issue. Please refresh the page to continue.</div>
<div class="error-actions">
<a href="" class="reload" data-localize="REFRESH_PAGE">Refresh Page</a>
<a class="dismiss">✕</a>
</div>
</div>
</div>
<script>
// Conditionally hide blazor-error-ui based on URL
(function() {
const currentUrl = window.location.href.toLowerCase();
const isDevelopment = currentUrl.includes('localhost') || currentUrl.includes('studentfirst.dev');
if (!isDevelopment) {
const errorUi = document.getElementById('blazor-error-ui');
if (errorUi) {
errorUi.style.display = 'none';
// Also prevent it from being shown by adding a CSS class override
const style = document.createElement('style');
style.textContent = '#blazor-error-ui { display: none !important; }';
document.head.appendChild(style);
}
}
})();
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js?v=25.77"></script>
<script src="https://kendo.cdn.telerik.com/2025.1.227/js/kendo.all.min.js?v=25.77"></script>
<script src="https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js"></script>
<script src="https://unpkg.com/swagger-ui-dist/swagger-ui-standalone-preset.js"></script>
<script src="_content/Telerik.UI.for.Blazor/js/telerik-blazor.js?v=25.77"></script>
<script src="_content/Microsoft.Authentication.WebAssembly.Msal/AuthenticationService.js?v=25.77"></script>
<script src="_framework/blazor.webassembly.js?v=25.77"></script>
<script src="js/kendo-ui-license (1).js"></script>
<script src="js/error-localization.js?v=25.77" charset="utf-8"></script>
<script src="js/app.js?v=25.77"></script>
<script src="js/scriptLoader.js?v=25.77"></script>
<script src="js/go.js?v=25.77"></script>
<script src="js/gojs-scripts.js?v=25.77"></script>
<script src="js/kendo-script-workflow.js?v=25.77"></script>
<script src="https://kit.fontawesome.com/4e6292f6e8.js?v=25.77" crossorigin="anonymous"></script>
<script src="_content/Telerik.ReportViewer.Blazor/interop.js?v=25.77" defer></script>
</body>
</html>
Open service 20.101.2.157:443 · studentfirst-pbi6448-admin.studentfirst.dev
2025-12-21 06:37
HTTP/1.1 200 OK
Content-Length: 3989
Connection: close
Content-Type: text/html
Date: Sun, 21 Dec 2025 06:37:33 GMT
Cache-Control: public, must-revalidate, max-age=30
ETag: "12344699"
Last-Modified: Fri, 19 Dec 2025 23:28:02 GMT
Strict-Transport-Security: max-age=10886400; includeSubDomains; preload
Referrer-Policy: same-origin
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-DNS-Prefetch-Control: off
Page title: Student First Admin
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Student First Admin</title>
<base href="/" />
<link href="css/bootstrap/bootstrap.min.css?v=25.77" rel="stylesheet" />
<link href="css/app.css?v=25.77" rel="stylesheet" />
<link href="GlobalEdTech.Sis.WebApp.SPA.styles.css?v=25.77" rel="stylesheet" />
<link href="css/studentfirst.css?v=25.77" rel="stylesheet" />
<link href="https://unpkg.com/swagger-ui-dist/swagger-ui.css" rel="stylesheet" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" href="favicon.png" />
<!--<link rel="manifest" href="/site.webmanifest">-->
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<link rel="stylesheet" href="https://unpkg.com/@progress/kendo-font-icons/dist/index.css" />
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div id="app">
<svg class="loading-progress">
<circle r="40%" cx="50%" cy="50%" />
<circle r="40%" cx="50%" cy="50%" />
</svg>
<div class="loading-progress-text"></div>
</div>
<div id="blazor-error-ui">
<div class="error-content">
<div class="error-icon">⚠️</div>
<div class="error-title" data-localize="ERROR_TITLE">Something went wrong</div>
<div class="error-message" data-localize="ERROR_MESSAGE">The Student First system encountered an issue. Please refresh the page to continue.</div>
<div class="error-actions">
<a href="" class="reload" data-localize="REFRESH_PAGE">Refresh Page</a>
<a class="dismiss">✕</a>
</div>
</div>
</div>
<script>
// Conditionally hide blazor-error-ui based on URL
(function() {
const currentUrl = window.location.href.toLowerCase();
const isDevelopment = currentUrl.includes('localhost') || currentUrl.includes('studentfirst.dev');
if (!isDevelopment) {
const errorUi = document.getElementById('blazor-error-ui');
if (errorUi) {
errorUi.style.display = 'none';
// Also prevent it from being shown by adding a CSS class override
const style = document.createElement('style');
style.textContent = '#blazor-error-ui { display: none !important; }';
document.head.appendChild(style);
}
}
})();
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js?v=25.77"></script>
<script src="https://kendo.cdn.telerik.com/2025.1.227/js/kendo.all.min.js?v=25.77"></script>
<script src="https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js"></script>
<script src="https://unpkg.com/swagger-ui-dist/swagger-ui-standalone-preset.js"></script>
<script src="_content/Telerik.UI.for.Blazor/js/telerik-blazor.js?v=25.77"></script>
<script src="_content/Microsoft.Authentication.WebAssembly.Msal/AuthenticationService.js?v=25.77"></script>
<script src="_framework/blazor.webassembly.js?v=25.77"></script>
<script src="js/kendo-ui-license (1).js"></script>
<script src="js/error-localization.js?v=25.77" charset="utf-8"></script>
<script src="js/app.js?v=25.77"></script>
<script src="js/scriptLoader.js?v=25.77"></script>
<script src="js/go.js?v=25.77"></script>
<script src="js/gojs-scripts.js?v=25.77"></script>
<script src="js/kendo-script-workflow.js?v=25.77"></script>
<script src="https://kit.fontawesome.com/4e6292f6e8.js?v=25.77" crossorigin="anonymous"></script>
<script src="_content/Telerik.ReportViewer.Blazor/interop.js?v=25.77" defer></script>
</body>
</html>
Open service 20.101.2.157:443 · studentfirst-pbi6448-admin.studentfirst.dev
2025-12-19 02:08
HTTP/1.1 200 OK
Content-Length: 3989
Connection: close
Content-Type: text/html
Date: Fri, 19 Dec 2025 02:08:01 GMT
Cache-Control: public, must-revalidate, max-age=30
ETag: "45063218"
Last-Modified: Thu, 18 Dec 2025 18:35:03 GMT
Strict-Transport-Security: max-age=10886400; includeSubDomains; preload
Referrer-Policy: same-origin
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-DNS-Prefetch-Control: off
Page title: Student First Admin
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Student First Admin</title>
<base href="/" />
<link href="css/bootstrap/bootstrap.min.css?v=25.77" rel="stylesheet" />
<link href="css/app.css?v=25.77" rel="stylesheet" />
<link href="GlobalEdTech.Sis.WebApp.SPA.styles.css?v=25.77" rel="stylesheet" />
<link href="css/studentfirst.css?v=25.77" rel="stylesheet" />
<link href="https://unpkg.com/swagger-ui-dist/swagger-ui.css" rel="stylesheet" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" href="favicon.png" />
<!--<link rel="manifest" href="/site.webmanifest">-->
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<link rel="stylesheet" href="https://unpkg.com/@progress/kendo-font-icons/dist/index.css" />
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div id="app">
<svg class="loading-progress">
<circle r="40%" cx="50%" cy="50%" />
<circle r="40%" cx="50%" cy="50%" />
</svg>
<div class="loading-progress-text"></div>
</div>
<div id="blazor-error-ui">
<div class="error-content">
<div class="error-icon">⚠️</div>
<div class="error-title" data-localize="ERROR_TITLE">Something went wrong</div>
<div class="error-message" data-localize="ERROR_MESSAGE">The Student First system encountered an issue. Please refresh the page to continue.</div>
<div class="error-actions">
<a href="" class="reload" data-localize="REFRESH_PAGE">Refresh Page</a>
<a class="dismiss">✕</a>
</div>
</div>
</div>
<script>
// Conditionally hide blazor-error-ui based on URL
(function() {
const currentUrl = window.location.href.toLowerCase();
const isDevelopment = currentUrl.includes('localhost') || currentUrl.includes('studentfirst.dev');
if (!isDevelopment) {
const errorUi = document.getElementById('blazor-error-ui');
if (errorUi) {
errorUi.style.display = 'none';
// Also prevent it from being shown by adding a CSS class override
const style = document.createElement('style');
style.textContent = '#blazor-error-ui { display: none !important; }';
document.head.appendChild(style);
}
}
})();
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js?v=25.77"></script>
<script src="https://kendo.cdn.telerik.com/2025.1.227/js/kendo.all.min.js?v=25.77"></script>
<script src="https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js"></script>
<script src="https://unpkg.com/swagger-ui-dist/swagger-ui-standalone-preset.js"></script>
<script src="_content/Telerik.UI.for.Blazor/js/telerik-blazor.js?v=25.77"></script>
<script src="_content/Microsoft.Authentication.WebAssembly.Msal/AuthenticationService.js?v=25.77"></script>
<script src="_framework/blazor.webassembly.js?v=25.77"></script>
<script src="js/kendo-ui-license (1).js"></script>
<script src="js/error-localization.js?v=25.77" charset="utf-8"></script>
<script src="js/app.js?v=25.77"></script>
<script src="js/scriptLoader.js?v=25.77"></script>
<script src="js/go.js?v=25.77"></script>
<script src="js/gojs-scripts.js?v=25.77"></script>
<script src="js/kendo-script-workflow.js?v=25.77"></script>
<script src="https://kit.fontawesome.com/4e6292f6e8.js?v=25.77" crossorigin="anonymous"></script>
<script src="_content/Telerik.ReportViewer.Blazor/interop.js?v=25.77" defer></script>
</body>
</html>