From 0d47952611198ef6b1163f366dc03922d20b1475 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 09:42:04 +0200 Subject: Adding upstream version 7.94+git20230807.3be01efb1+dfsg. Signed-off-by: Daniel Baumann --- scripts/giop-info.nse | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 scripts/giop-info.nse (limited to 'scripts/giop-info.nse') diff --git a/scripts/giop-info.nse b/scripts/giop-info.nse new file mode 100644 index 0000000..c4aabd2 --- /dev/null +++ b/scripts/giop-info.nse @@ -0,0 +1,81 @@ +local giop = require "giop" +local shortport = require "shortport" +local stdnse = require "stdnse" + +description = [[ +Queries a CORBA naming server for a list of objects. +]] + +author = "Patrik Karlsson" +license = "Same as Nmap--See https://nmap.org/book/man-legal.html" +categories = {"default", "discovery", "safe"} + +--- +-- @output +-- PORT STATE SERVICE REASON +-- 1050/tcp open java-or-OTGfileshare syn-ack +-- | giop-info: +-- | Object: Hello +-- | Context: Test +-- |_ Object: GoodBye +-- +-- @xmloutput +-- +-- 0 +-- Hello +-- 18 +--
+-- +-- 1 +-- Test +-- 0 +--
+-- +-- 0 +-- Goodbye +-- 18 +--
+ + +-- Version 0.1 + +-- Created 07/08/2010 - v0.1 - created by Patrik Karlsson + + +portrule = shortport.port_or_service( {2809,1050,1049} , "giop", "tcp", "open") + +local fmt_meta = { + __tostring = function (t) + local tmp = "Unknown" + if ( t.enum == 0 ) then + tmp = "Object" + elseif( t.enum == 1 ) then + tmp = "Context" + end + + -- TODO: Handle t.kind? May require IDL. + return ("%s: %s"):format(tmp, t.id) + end +} + +local function fail (err) return stdnse.format_output(false, err) end +action = function(host, port) + + local helper = giop.Helper:new( host, port ) + local ctx, objs, status, err + + status, err = helper:Connect() + if ( not(status) ) then return err end + + status, ctx = helper:GetNamingContext() + if ( not(status) ) then return fail(ctx) end + + status, objs = helper:ListObjects(ctx) + if ( not(status) ) then return fail(objs) end + + for _, obj in ipairs( objs ) do + setmetatable(obj, fmt_meta) + end + + return objs +end -- cgit v1.2.3