Nmap-scripts-wordpress-version
Zur Navigation springen
Zur Suche springen
Nmap Script um die Wordpress Version einer Website zu bekommen
Usage
- nmap -Pn --script wordpress-version.nse xinux.de
--Usage--
--nmap -Pn --script wordpress-version.nse xinux.de
--nmap -Pn --script wordpress-version.nse -p 443 xinux.de
local http = require "http"
local stdNse = require "stdnse"
local description = [[This Script Search for the Wordpress Version of the Target Website]]
local author = "Xinux"
local license = "Same as Nmap --See http://nmap.org/book/man-legal.html"
local categories = {"unsafe", "discovery"}
function portrule(host, port)
--Die 'action' Funktion wird aufgerufen, wenn die Ports den status 'open' & das protocol 'tcp' und entweder die Portnummer '443' oder '80' haben--
-- Wenn '''true''' zurückgeliefert wird, wird die Funktion action ausgeführt.
return port.state == 'open' and port.protocol == 'tcp' and ( port.number == 443 or port.number == 80 )
end
function action(host, port)
--Mit dem Lua Modul http können wir die HTML Elemente der Seite, ähnlich wie mit Curl herunterladen--
local resp = http.get(host, port, "/")
--In dem Heruntergeladenen HTML Code suchen wur nun das Elemente das die Wordpress version enthält--
local wordpress_version_with_html_tag = string.match(resp.body, '<meta name="generator" content="WordPress [0-9].[0-9].[0-9]" />')
--Wenn in dem HTML Code ein Element mit Versionsangabe gefunden wird, nutzen wir die gleiche Funktion 'match' um die Versionsnummer herauszufiltern--
--Wenn keine Versionsangabe gefunden wir, gibt das Script aus, dass keine Version gefunden wurde
if (wordpress_version_with_html_tag ~= nil) then
wordpress_version = string.match(wordpress_version_with_html_tag, '[0-9].[0-9].[0-9]')
else
wordpress_version = "No Wordpress Version found"
end
return stdNse.format_output(true, string.format("Wordpress version ==> %s", wordpress_version))
end