Fix PoC search and unify site theme

This commit is contained in:
0xMarcio
2025-12-17 16:08:35 +01:00
parent 1f0cd8e78b
commit 6a8a659c51
7 changed files with 91 additions and 106 deletions

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>CVE Intelligence</title>
<link rel="stylesheet" href="/assets/style.css" />
<link rel="stylesheet" href="/style.css" />
<script defer src="/assets/site.js"></script>
</head>
<body>
@@ -26,7 +26,7 @@
<article class="card">
<div class="card-title"><a href="/cve/CVE-2025-9242.html">CVE-2025-9242</a></div>
<div class="card-meta">EPSS 0.744 • 99th pct</div>
<p>An Out-of-bounds Write vulnerability in WatchGuard Fireware OS may allow a remote unauthenticated attacker to execute arbitrary code. This vulnerability affects both the Mobile User VPN with IKEv2 and the Branch Offic...</p>
<p>No description.</p>
<div class="badge">WatchGuard</div>
<div class="badge">Firebox</div>
</article>

View File

@@ -150,7 +150,7 @@ document.addEventListener('DOMContentLoaded', () => {
}
}
fetch('./CVE_list.json')
fetch('../CVE_list.json')
.then(res => res.json())
.then(data => {
window.dataset = data;

View File

@@ -8,6 +8,17 @@
<title>PoC Search - CVE Radar</title>
</head>
<body class="color-no-search">
<header class="site-header">
<div class="wrap">
<div class="brand"><a href="/">CVE PoC Search</a></div>
<nav>
<a href="/search/">Search</a>
<a href="/kev/">KEV</a>
<a href="/epss/">EPSS</a>
<a href="/diffs/">Diffs</a>
</nav>
</div>
</header>
<div class="container">
<div class="search">
<div class="header">

View File

@@ -1,123 +1,97 @@
@import url("https://fonts.googleapis.com/css?family=Source+Code+Pro&display=swap");
body {
@import url("https://fonts.googleapis.com/css?family=Source+Code+Pro:400,600&display=swap");
:root {
--bg: #60a8f0;
--panel: rgba(255, 255, 255, 0.15);
--text: #041b3a;
--text-strong: #00122b;
--muted: #0b3c6d;
--border: rgba(0, 17, 43, 0.08);
--link: #0c4bff;
--accent: #073b78;
font-family: 'Source Code Pro', monospace;
background: black;
color: white;
}
body.fade {
-webkit-transition: background-color 0.5s;
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--bg);
color: var(--text);
font-family: 'Source Code Pro', monospace;
overflow-x: hidden;
transition: background-color 0.5s;
}
body.color-no-search {
background: #60a8f0;
}
.wrap { width: min(1100px, 96vw); margin: 0 auto; padding: 1.2rem 0; }
body.color-no-results {
background: #fa5e3d;
.site-header {
position: sticky;
top: 0;
z-index: 5;
background: rgba(96, 168, 240, 0.95);
border-bottom: 1px solid var(--border);
box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; }
.brand a { font-weight: 700; color: var(--text-strong); text-decoration: none; font-size: 1.1rem; }
nav a { margin-left: 1rem; color: var(--text-strong); text-decoration: none; opacity: 0.8; font-weight: 600; }
nav a:hover { opacity: 1; }
body.color-results-found {
background: #108000;
}
.site-footer { border-top: 1px solid var(--border); padding: 1rem 0 1.5rem; color: var(--muted); text-align: center; font-size: 0.9rem; background: rgba(255,255,255,0.1); }
.site-footer a { color: var(--link); }
body.color-too-many-results {
background: #fa8840;
}
h1, h2, h3 { margin: 0 0 0.6rem; color: var(--text-strong); }
p { margin: 0 0 0.75rem; }
a { color: var(--link); }
body .container a {
color: #f2ff00;
}
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.card { background: var(--panel); padding: 1rem; border-radius: 12px; border: 1px solid var(--border); box-shadow: 0 10px 24px rgba(0,0,0,0.08); }
.card-title { font-weight: 700; margin-bottom: 0.3rem; color: var(--text-strong); }
.muted { color: var(--muted); }
body .container .search .header a {
color: #f2ff00;
}
body .container .search .results .results-table table.results tbody tr:nth-child(odd) {
background-color: rgba(255, 255, 255, 0.2);
}
body .container .footer {
background-color: rgba(255, 255, 255, 0.05);
}
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
margin: 0;
font-family: 'Source Code Pro', monospace;
overflow-x: hidden;
}
body .container {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
min-height: 100vh;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
text-align: center;
margin-left: auto;
margin-right: auto;
}
body .container a {
text-decoration: none;
}
body .container .search .header {
padding-bottom: 1rem;
}
body .container .search .header h1 {
font-size: 4rem;
margin: 0.5rem;
}
body .container .search .query input {
.filter, input[type="search"], input[type="text"] {
width: 100%;
height: 5rem;
font-size: 2rem;
font-family: serif;
text-align: center;
margin: 0;
padding: 0;
border: 0;
font-family: 'Source Code Pro', monospace;
outline: none;
padding: 0.75rem;
border-radius: 10px;
border: 1px solid var(--border);
background: rgba(255,255,255,0.9);
font-family: inherit;
font-size: 1rem;
color: var(--text-strong);
}
body .container .search .results .results-table.hide {
display: none;
}
.table-responsive { overflow-x: auto; border: 1px solid var(--border); border-radius: 12px; background: rgba(255,255,255,0.9); box-shadow: 0 12px 28px rgba(0,0,0,0.1); }
.table-responsive table { width: 100%; border-collapse: collapse; }
.table-responsive th, .table-responsive td { padding: 0.85rem 0.9rem; border-bottom: 1px solid var(--border); text-align: left; color: var(--text-strong); }
.table-responsive th { background: rgba(0,0,0,0.04); color: var(--text-strong); letter-spacing: 0.2px; }
.table-responsive tr:nth-child(odd) td { background: rgba(0,0,0,0.02); }
body .container .search .results .results-table table.results {
table-layout: fixed;
border: 0;
width: 100%;
margin: 0;
}
.color-no-search { background: #60a8f0; }
.color-no-results { background: #fa5e3d; }
.color-results-found { background: #30c266; }
.color-too-many-results { background: #fa8840; }
.container { display: flex; min-height: calc(100vh - 70px); flex-direction: column; justify-content: space-between; text-align: center; margin: 0 auto; padding: 1rem; }
.container .search .header { padding-bottom: 1rem; }
.container .search .header h1 { font-size: 3.4rem; margin: 0.5rem; color: var(--text-strong); }
.container .search .query input { width: 100%; height: 5rem; font-size: 2rem; text-align: center; margin: 0; padding: 0 1rem; border: 0; outline: none; border-radius: 12px; background: rgba(255,255,255,0.95); }
.container .search .results .results-table.hide { display: none; }
.container .search .results .results-table table.results { table-layout: fixed; border: 0; width: 100%; margin: 0; }
@media screen and (min-width: 800px) {
body .container .search .results .results-table table.results {
margin-left: 5vw;
margin-right: 5vw;
width: 90vw;
}
.container .search .results .results-table table.results { margin-left: 5vw; margin-right: 5vw; width: 90vw; }
}
.container .search .results .results-table table.results thead { font-size: 1.2rem; }
.container .search .results .results-table table.results tbody tr:nth-child(odd) { background-color: rgba(255, 255, 255, 0.2); }
.container .footer { background-color: rgba(255, 255, 255, 0.05); padding: 1rem; }
.container a { color: #0c4bff; text-decoration: none; }
body .container .search .results .results-table table.results thead {
font-size: 1.2rem;
}
.badge { display: inline-block; background: rgba(12,75,255,0.12); color: var(--text-strong); padding: 0.2rem 0.6rem; border-radius: 999px; font-size: 0.85rem; }
.pill-row { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.pill { padding: 0.3rem 0.5rem; border-radius: 999px; background: rgba(255,255,255,0.8); color: var(--text-strong); border: 1px solid var(--border); font-size: 0.85rem; }
.hero, .section { margin-bottom: 1.5rem; }
@media screen and (min-width: 800px) {
body .container .search .results .results-table table.results thead {

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{{ title or 'CVE Intelligence' }}</title>
<link rel="stylesheet" href="/assets/style.css" />
<link rel="stylesheet" href="/style.css" />
<script defer src="/assets/site.js"></script>
</head>
<body>

View File

@@ -1,6 +1,6 @@
{% extends "base.html" %}
{% block content %}
<h1>Top EPSS (not in KEV)</h1>
<h1>EPSS High-Risk (not in KEV)</h1>
<input type="search" placeholder="Filter CVE" data-filter-table="epss-table" class="filter" />
<div class="table-responsive">
<table class="list" id="epss-table">

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% block title %}CVE PoC Radar{% endblock %}</title>
<link rel="stylesheet" href="/assets/style.css">
<link rel="stylesheet" href="/style.css">
</head>
<body>
<header class="topbar">