action = function(host, port) local vuln = title = "Fictional CVE-2024-NESCA: Information Disclosure", state = vulns.STATE.NOT_VULN, risk_factor = "High", scores = CVSSv3 = "8.6" , description = [[ The web server discloses internal paths when a malformed header is sent. ]], remediation = [[ Update to WebApp 1.1 or apply patch NESCA-01. ]]
local report = vulns.Report:new(SCRIPT_NAME, host, port) local payload = "GET / HTTP/1.1\r\nHost: " .. host.ip .. "\r\nX-Hack: \r\n\r\n" local response = http.get(host, port, "/", header = ["X-Hack"] = "") nesca scanner
local http = require "http" local nmap = require "nmap" local shortport = require "shortport" local vulns = require "vulns" description = [[ Checks for fictional CVE-2024-NESCA in WebApp 1.0. Sends a malformed header and checks for error disclosure. ]] action = function(host, port) local vuln = title
if response.status == 500 and response.body:match("stack trace") then vuln.state = vulns.STATE.VULN vuln.check_results = "Disclosed stack trace: " .. response.body:sub(1,200) end ]] if response