mirror of
https://github.com/0xMarcio/cve.git
synced 2026-10-27 16:51:03 +00:00
The About box, the meta description, the og and twitter tags and the JSON-LD all ended in a tacked-on list of features: "Updated hourly", "Free JSON API, no signup", "Plain JSON, no key". None of it describes what the thing is, and the meta description ran past where a result gets truncated anyway. Four strings collapse to two so they cannot drift apart again. SUBTITLE is the line under the wordmark and the social description; DESCRIPTION is the meta description, the JSON-LD description and the GitHub About box. Both say what the site is and stop.
140 lines
6.6 KiB
HTML
140 lines
6.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<!-- Absolute URLs all point at the canonical host. Keep them in step with
|
|
SITE in scripts/brand.py, which drives every generated surface. -->
|
|
<title>PoC Index: Search CVE Proof-of-Concept Exploits</title>
|
|
<meta name="description" content="Search 82,000+ public CVE proof-of-concept exploits from GitHub, Nuclei, ExploitDB, Metasploit and Vulhub." />
|
|
<meta name="robots" content="index, follow, max-image-preview:large" />
|
|
<link rel="icon" href="/favicon.ico" />
|
|
<link rel="canonical" href="https://pocindex.io/" />
|
|
<meta property="og:type" content="website" />
|
|
<meta property="og:site_name" content="PoC Index" />
|
|
<meta property="og:title" content="PoC Index: Search CVE Proof-of-Concept Exploits" />
|
|
<meta property="og:description" content="Public proof-of-concept exploits, indexed by CVE." />
|
|
<meta property="og:url" content="https://pocindex.io/" />
|
|
<meta property="og:image" content="https://pocindex.io/social-card.png" />
|
|
<meta property="og:image:width" content="1280" />
|
|
<meta property="og:image:height" content="640" />
|
|
<meta name="twitter:card" content="summary_large_image" />
|
|
<meta name="twitter:title" content="PoC Index: Search CVE Proof-of-Concept Exploits" />
|
|
<meta name="twitter:description" content="Public proof-of-concept exploits, indexed by CVE." />
|
|
<meta name="twitter:image" content="https://pocindex.io/social-card.png" />
|
|
<!-- WebSite.name is how Google decides what to print as the site name in a
|
|
result. Without it the title, the og tags and the h1 were three different
|
|
names and it picked one on its own. SearchAction points at the ?q= route
|
|
logic.js now keeps in the URL. -->
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "WebSite",
|
|
"name": "PoC Index",
|
|
"url": "https://pocindex.io/",
|
|
"description": "Search 82,000+ public CVE proof-of-concept exploits from GitHub, Nuclei, ExploitDB, Metasploit and Vulhub.",
|
|
"potentialAction": {
|
|
"@type": "SearchAction",
|
|
"target": {
|
|
"@type": "EntryPoint",
|
|
"urlTemplate": "https://pocindex.io/?q={search_term_string}"
|
|
},
|
|
"query-input": "required name=search_term_string"
|
|
}
|
|
}
|
|
</script>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet" />
|
|
<link rel="stylesheet" href="/style.css" />
|
|
</head>
|
|
<body>
|
|
<header class="container hero-bar">
|
|
<div class="hero">
|
|
<svg class="hero-radar" viewBox="0 0 400 400" aria-hidden="true">
|
|
<circle cx="200" cy="200" r="70" />
|
|
<circle cx="200" cy="200" r="124" />
|
|
<circle cx="200" cy="200" r="170" />
|
|
<circle cx="200" cy="200" r="200" />
|
|
<line class="hero-sweep" x1="200" y1="200" x2="200" y2="0" />
|
|
</svg>
|
|
<div class="hero-id">
|
|
<h1>PoC Index</h1>
|
|
<p>Public proof-of-concept exploits, indexed by CVE.</p>
|
|
</div>
|
|
<dl class="hero-stats">
|
|
<div><dt data-stat-total> </dt><dd>CVES INDEXED</dd></div>
|
|
<div><dt class="is-accent" data-stat-pocs> </dt><dd>WITH POCS</dd></div>
|
|
<div><dt class="is-danger" data-stat-kev> </dt><dd>KNOWN EXPLOITED</dd></div>
|
|
</dl>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="container search-bar">
|
|
<form class="search" role="search" autocomplete="off">
|
|
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" aria-hidden="true">
|
|
<circle cx="7.6" cy="7.6" r="5.1" stroke="#8b949e" stroke-width="1.7" />
|
|
<path d="M11.5 11.5 L15.6 15.6" stroke="#8b949e" stroke-width="1.7" stroke-linecap="round" />
|
|
</svg>
|
|
<input type="text" spellcheck="false" data-search
|
|
placeholder="Search CVE, vendor, product or keyword · exclude with -windows"
|
|
aria-label="Search CVE, vendor, product or keyword" />
|
|
<span class="search-status" data-status aria-live="polite"></span>
|
|
</form>
|
|
<div class="filters" data-filters aria-label="CVE filters">
|
|
<span class="filter-caption">FILTER</span>
|
|
<div class="filter-menu" data-filter-menu="severity">
|
|
<button type="button" class="filter-trigger" data-filter-trigger="severity"
|
|
aria-haspopup="true" aria-expanded="false" aria-controls="severity-options" disabled>
|
|
<span>SEVERITY</span><strong data-filter-summary="severity">ALL</strong>
|
|
</button>
|
|
<div class="filter-popover" id="severity-options" data-filter-options="severity"
|
|
aria-label="Severities" hidden></div>
|
|
</div>
|
|
<button type="button" class="filter-toggle" data-filter-kev aria-pressed="false" disabled>KEV</button>
|
|
<div class="filter-menu" data-filter-menu="source">
|
|
<button type="button" class="filter-trigger" data-filter-trigger="source"
|
|
aria-haspopup="true" aria-expanded="false" aria-controls="source-options" disabled>
|
|
<span>SOURCE</span><strong data-filter-summary="source">ALL</strong>
|
|
</button>
|
|
<div class="filter-popover" id="source-options" data-filter-options="source"
|
|
aria-label="Sources" hidden></div>
|
|
</div>
|
|
<button type="button" class="filter-clear" data-clear-filters hidden>CLEAR</button>
|
|
</div>
|
|
</div>
|
|
|
|
<main class="container content">
|
|
<section class="panel results" data-results hidden></section>
|
|
|
|
<section data-trending>
|
|
<div class="trend-controls">
|
|
<div class="switch" role="group" aria-label="Ranking">
|
|
<button type="button" data-mode="TRENDING" aria-pressed="true">TRENDING</button>
|
|
<button type="button" data-mode="RECENT" aria-pressed="false">RECENT</button>
|
|
</div>
|
|
<span class="trend-note" data-trend-note></span>
|
|
</div>
|
|
<div class="panel trending">
|
|
<div class="col-head">
|
|
<span class="col-stars">STARS</span>
|
|
<span class="col-updated">UPDATED</span>
|
|
<span>NAME</span>
|
|
<span class="col-desc">DESCRIPTION</span>
|
|
</div>
|
|
<div data-trend-rows></div>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
|
|
<footer class="site-footer">
|
|
<div class="container">
|
|
<span>sources: nvd · cve program · github · github advisories · cisa vulnrichment · cisa kev · first epss</span>
|
|
<span data-refreshed></span>
|
|
</div>
|
|
</footer>
|
|
|
|
<script src="/logic.js"></script>
|
|
</body>
|
|
</html>
|