cloudflare
tcp/443 tcp/80
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: 5733ddf49ff49cd1926e27d0926e27d0926e27d0926e27d0926e27d0926e27d0
Public Swagger UI/API detected at path: /webjars/swagger-ui/index.html
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: 5733ddf49ff49cd1926e27d0926e27d0926e27d0926e27d0926e27d0926e27d0
Public Swagger UI/API detected at path: /webjars/swagger-ui/index.html
Open service 104.21.224.5:443 · blog.youcc.top
2026-01-23 11:47
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 11:47:14 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
vary: accept-encoding
Content-Language: en-US
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Strict-Transport-Security: max-age=31536000
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 0
Referrer-Policy: strict-origin-when-cross-origin
set-cookie: XSRF-TOKEN=793a6808-d6b7-48d1-b851-73be25efae39; Path=/; HTTPOnly
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=YO9PPtH8jeSc9cOvIMT5rE%2Bv6ZNZ1L97j9L7i%2BuQXBtRPsO6BvnC9rds3QCgTvSVqXF85jjumECoSZLozUR3y8RDV174MO8qP5zdYhwt"}]}
cf-cache-status: DYNAMIC
CF-RAY: 9c270e209b6aac99-YYZ
alt-svc: h3=":443"; ma=86400
Page title: CongのBlog
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport"
content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />
<title>CongのBlog</title>
<script>
window.addEventListener('load', function () {
anime({
targets: 'body',
opacity: [0, 1],
duration: 800,
easing: 'easeInOutQuad',
});
});
</script>
<link rel="stylesheet" href="/themes/theme-ink/assets/css/style.css?v=0.7.1" />
<link rel="stylesheet" href="/themes/theme-ink/assets/fonts/style.css?v=0.7.1" />
<script src="/themes/theme-ink/assets/js/anime.min.js?v=0.7.1"></script>
<link href="https://db.onlinewebfonts.com/c/13e1aeb2b46b97433c7f3cef3580ffd0?family=MYuppy+PRC+Medium" rel="stylesheet">
<style>
body{
font-family: MYuppy PRC Medium !important;
}
</style>
<meta name="generator" content="Halo 2.21.2"/><!-- plugin-comment-widget start -->
<script src="/plugins/PluginCommentWidget/assets/static/comment-widget.iife.js?version=2.5.1"></script>
<link rel="stylesheet" href="/plugins/PluginCommentWidget/assets/static/style.css?version=2.5.1" />
<!-- plugin-comment-widget end -->
<!-- PluginSearchWidget start -->
<script src="/plugins/PluginSearchWidget/assets/static/search-widget.iife.js?version=1.6.2" async></script>
<link rel="stylesheet" href="/plugins/PluginSearchWidget/assets/static/style.css?version=1.6.2" />
<!-- PluginSearchWidget end -->
</head>
<body class="mx-auto bg-[#2a313a] text-white opacity-0 sm:max-w-[90%] max-w-full">
<header class="w-full p-4 mt-4 mb-0 hidden sm:my-8 sm:mx-auto sm:max-w-5xl sm:flex sm:justify-end sm:gap-2">
<a href="/signup"
onclick="this.href = '/signup?redirect_uri=' + encodeURIComponent(window.location.href)">
<button
class="relative font-medium rounded text-sm text-white px-4 py-2 w-auto bg-transparent transition-all duration-500 after:absolute after:border after:border-solid after:rounded-md after:opacity-40 after:inset-[-1px] hover:bg-custom-light-gray/20 hover:text-white hover:cursor-pointer">
<i class="icon-user-plus"></i>
<span>注册</span>
</button>
</a>
<a href="/login"
onclick="this.href = '/login?redirect_uri=' + encodeURIComponent(window.location.href)">
<button
class="relative font-medium rounded text-sm text-white px-4 py-2 ml-3 w-auto bg-transparent transition-all duration-500 after:absolute after:border after:border-solid after:rounded-md after:opacity-40 after:inset-[-1px] hover:bg-custom-light-gray/20 hover:text-white hover:cursor-pointer">
<i class="icon-log-in"></i>
<span>登录</span>
</button>
</a>
</header>
<section
class="w-full m-h-[initial] max-w-5xl mx-auto rounded-lg transition-[max-width] duration-500 ease-in-out bg-inherit shadow-none sm:bg-transparent sm:shadow-1">
<div class="site p-6 sm:p-10">
<div class="title w-fit h-fit flex items-center">
<a href="http://localhost:8090">
<h1 class="text-custom-gray text-2xl font-semibold">CongのBlog</h1>
</a>
</div>
<div class="text-base w-full mt-2 sm:w-[80%]">
<p class="mb-2 word-spacing-1 letter-spacing-1 text-justify text-white opacity-70"></p>
</div>
</div>
<menu
class="py-2 pl-10 pr-4 border-b border-t border-solid border-[rgba(255,255,255,0.08)] bg-custom-Blue text-custom-gray text-sm sticky -top-1 z-10 transtion-all duration-300 ease-in-out">
<div class="menu flex items-center justify-between" id="header">
<ul class="menu-item flex">
<li id="menu-open"
class="inline-flex items-center -ml-8 mr-2 py-2 px-4 text-custom-light-gray/70 bg-transparent rounded-lg transition-all duration-500 hover:text-w
Open service 104.18.185.26:80 · blog.youcc.top
2026-01-23 04:04
HTTP/1.1 200 OK
Date: Fri, 23 Jan 2026 04:05:02 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
vary: accept-encoding
Content-Language: en-US
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 0
Referrer-Policy: strict-origin-when-cross-origin
set-cookie: XSRF-TOKEN=abba14d3-b098-4eef-b7f9-4eee109f8977; Path=/; HTTPOnly
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=dTx2ojIPIEo0IS38WE4otdLgjW54%2B9ixZLrsEDz8Kk9yleqvfMlQN7T9dIIZqDfNxRK5Ehs0suZgQc%2FXEswGij%2FkWfarUQ2sc4qo2OPa"}]}
Strict-Transport-Security: max-age=31536000
cf-cache-status: DYNAMIC
CF-RAY: 9c24690d98fedb41-SIN
alt-svc: h3=":443"; ma=86400
Page title: CongのBlog
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport"
content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />
<title>CongのBlog</title>
<script>
window.addEventListener('load', function () {
anime({
targets: 'body',
opacity: [0, 1],
duration: 800,
easing: 'easeInOutQuad',
});
});
</script>
<link rel="stylesheet" href="/themes/theme-ink/assets/css/style.css?v=0.7.1" />
<link rel="stylesheet" href="/themes/theme-ink/assets/fonts/style.css?v=0.7.1" />
<script src="/themes/theme-ink/assets/js/anime.min.js?v=0.7.1"></script>
<link href="https://db.onlinewebfonts.com/c/13e1aeb2b46b97433c7f3cef3580ffd0?family=MYuppy+PRC+Medium" rel="stylesheet">
<style>
body{
font-family: MYuppy PRC Medium !important;
}
</style>
<meta name="generator" content="Halo 2.21.2"/><!-- plugin-comment-widget start -->
<script src="/plugins/PluginCommentWidget/assets/static/comment-widget.iife.js?version=2.5.1"></script>
<link rel="stylesheet" href="/plugins/PluginCommentWidget/assets/static/style.css?version=2.5.1" />
<!-- plugin-comment-widget end -->
<!-- PluginSearchWidget start -->
<script src="/plugins/PluginSearchWidget/assets/static/search-widget.iife.js?version=1.6.2" async></script>
<link rel="stylesheet" href="/plugins/PluginSearchWidget/assets/static/style.css?version=1.6.2" />
<!-- PluginSearchWidget end -->
</head>
<body class="mx-auto bg-[#2a313a] text-white opacity-0 sm:max-w-[90%] max-w-full">
<header class="w-full p-4 mt-4 mb-0 hidden sm:my-8 sm:mx-auto sm:max-w-5xl sm:flex sm:justify-end sm:gap-2">
<a href="/signup"
onclick="this.href = '/signup?redirect_uri=' + encodeURIComponent(window.location.href)">
<button
class="relative font-medium rounded text-sm text-white px-4 py-2 w-auto bg-transparent transition-all duration-500 after:absolute after:border after:border-solid after:rounded-md after:opacity-40 after:inset-[-1px] hover:bg-custom-light-gray/20 hover:text-white hover:cursor-pointer">
<i class="icon-user-plus"></i>
<span>注册</span>
</button>
</a>
<a href="/login"
onclick="this.href = '/login?redirect_uri=' + encodeURIComponent(window.location.href)">
<button
class="relative font-medium rounded text-sm text-white px-4 py-2 ml-3 w-auto bg-transparent transition-all duration-500 after:absolute after:border after:border-solid after:rounded-md after:opacity-40 after:inset-[-1px] hover:bg-custom-light-gray/20 hover:text-white hover:cursor-pointer">
<i class="icon-log-in"></i>
<span>登录</span>
</button>
</a>
</header>
<section
class="w-full m-h-[initial] max-w-5xl mx-auto rounded-lg transition-[max-width] duration-500 ease-in-out bg-inherit shadow-none sm:bg-transparent sm:shadow-1">
<div class="site p-6 sm:p-10">
<div class="title w-fit h-fit flex items-center">
<a href="http://localhost:8090">
<h1 class="text-custom-gray text-2xl font-semibold">CongのBlog</h1>
</a>
</div>
<div class="text-base w-full mt-2 sm:w-[80%]">
<p class="mb-2 word-spacing-1 letter-spacing-1 text-justify text-white opacity-70"></p>
</div>
</div>
<menu
class="py-2 pl-10 pr-4 border-b border-t border-solid border-[rgba(255,255,255,0.08)] bg-custom-Blue text-custom-gray text-sm sticky -top-1 z-10 transtion-all duration-300 ease-in-out">
<div class="menu flex items-center justify-between" id="header">
<ul class="menu-item flex">
<li id="menu-open"
class="inline-flex items-center -ml-8 mr-2 py-2 px-4 text-custom-light-gray/70 bg-transparent rounded-lg transition-all duration-500 hover:text-w
Open service 104.21.224.5:443 · blog.youcc.top
2026-01-09 21:41
HTTP/1.1 200 OK
Date: Fri, 09 Jan 2026 21:41:17 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
vary: accept-encoding
Content-Language: en-US
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Strict-Transport-Security: max-age=31536000
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 0
Referrer-Policy: strict-origin-when-cross-origin
set-cookie: XSRF-TOKEN=6637a634-3422-4478-8457-7dad0e45f794; Path=/; HTTPOnly
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=kCvlAH0wwNPtbvSIZk%2BM91ya89fQmisX4zPa4rHn4WVed1zdl6V3TsJmy7o9N8UqWhIUvnR1zQhTPBQn5yAs6WzFkYtGiWEjzUF32wjy"}]}
cf-cache-status: DYNAMIC
CF-RAY: 9bb71911f860d595-AMS
alt-svc: h3=":443"; ma=86400
Page title: CongのBlog
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport"
content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />
<title>CongのBlog</title>
<script>
window.addEventListener('load', function () {
anime({
targets: 'body',
opacity: [0, 1],
duration: 800,
easing: 'easeInOutQuad',
});
});
</script>
<link rel="stylesheet" href="/themes/theme-ink/assets/css/style.css?v=0.7.1" />
<link rel="stylesheet" href="/themes/theme-ink/assets/fonts/style.css?v=0.7.1" />
<script src="/themes/theme-ink/assets/js/anime.min.js?v=0.7.1"></script>
<link href="https://db.onlinewebfonts.com/c/13e1aeb2b46b97433c7f3cef3580ffd0?family=MYuppy+PRC+Medium" rel="stylesheet">
<style>
body{
font-family: MYuppy PRC Medium !important;
}
</style>
<meta name="generator" content="Halo 2.21.2"/><!-- plugin-comment-widget start -->
<script src="/plugins/PluginCommentWidget/assets/static/comment-widget.iife.js?version=2.5.1"></script>
<link rel="stylesheet" href="/plugins/PluginCommentWidget/assets/static/style.css?version=2.5.1" />
<!-- plugin-comment-widget end -->
<!-- PluginSearchWidget start -->
<script src="/plugins/PluginSearchWidget/assets/static/search-widget.iife.js?version=1.6.2" async></script>
<link rel="stylesheet" href="/plugins/PluginSearchWidget/assets/static/style.css?version=1.6.2" />
<!-- PluginSearchWidget end -->
</head>
<body class="mx-auto bg-[#2a313a] text-white opacity-0 sm:max-w-[90%] max-w-full">
<header class="w-full p-4 mt-4 mb-0 hidden sm:my-8 sm:mx-auto sm:max-w-5xl sm:flex sm:justify-end sm:gap-2">
<a href="/signup"
onclick="this.href = '/signup?redirect_uri=' + encodeURIComponent(window.location.href)">
<button
class="relative font-medium rounded text-sm text-white px-4 py-2 w-auto bg-transparent transition-all duration-500 after:absolute after:border after:border-solid after:rounded-md after:opacity-40 after:inset-[-1px] hover:bg-custom-light-gray/20 hover:text-white hover:cursor-pointer">
<i class="icon-user-plus"></i>
<span>注册</span>
</button>
</a>
<a href="/login"
onclick="this.href = '/login?redirect_uri=' + encodeURIComponent(window.location.href)">
<button
class="relative font-medium rounded text-sm text-white px-4 py-2 ml-3 w-auto bg-transparent transition-all duration-500 after:absolute after:border after:border-solid after:rounded-md after:opacity-40 after:inset-[-1px] hover:bg-custom-light-gray/20 hover:text-white hover:cursor-pointer">
<i class="icon-log-in"></i>
<span>登录</span>
</button>
</a>
</header>
<section
class="w-full m-h-[initial] max-w-5xl mx-auto rounded-lg transition-[max-width] duration-500 ease-in-out bg-inherit shadow-none sm:bg-transparent sm:shadow-1">
<div class="site p-6 sm:p-10">
<div class="title w-fit h-fit flex items-center">
<a href="http://localhost:8090">
<h1 class="text-custom-gray text-2xl font-semibold">CongのBlog</h1>
</a>
</div>
<div class="text-base w-full mt-2 sm:w-[80%]">
<p class="mb-2 word-spacing-1 letter-spacing-1 text-justify text-white opacity-70"></p>
</div>
</div>
<menu
class="py-2 pl-10 pr-4 border-b border-t border-solid border-[rgba(255,255,255,0.08)] bg-custom-Blue text-custom-gray text-sm sticky -top-1 z-10 transtion-all duration-300 ease-in-out">
<div class="menu flex items-center justify-between" id="header">
<ul class="menu-item flex">
<li id="menu-open"
class="inline-flex items-center -ml-8 mr-2 py-2 px-4 text-custom-light-gray/70 bg-transparent rounded-lg transition-all duration-500 hover:text-w