Nmap-scripts-wordpress-version

Aus Xinux Wiki
Version vom 27. Februar 2023, 15:52 Uhr von Thomas.will (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
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