Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.216.68
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
nmap /
nselib /
Delete
Unzip
Name
Size
Permission
Date
Action
data
[ DIR ]
drwxr-xr-x
2024-08-29 14:21
afp.lua
71.48
KB
-rw-r--r--
2023-01-13 02:40
ajp.lua
16.77
KB
-rw-r--r--
2023-01-13 02:40
amqp.lua
10.41
KB
-rw-r--r--
2023-01-13 02:40
anyconnect.lua
4.31
KB
-rw-r--r--
2023-01-13 02:40
asn1.lua
14.57
KB
-rw-r--r--
2023-01-13 02:40
base32.lua
7.36
KB
-rw-r--r--
2023-01-13 02:40
base64.lua
5.83
KB
-rw-r--r--
2023-01-13 02:40
bin.lua
12.99
KB
-rw-r--r--
2023-01-13 02:40
bitcoin.lua
18.25
KB
-rw-r--r--
2023-01-13 02:40
bits.lua
2.54
KB
-rw-r--r--
2023-01-13 02:40
bittorrent.lua
35.76
KB
-rw-r--r--
2023-01-13 02:40
bjnp.lua
9.55
KB
-rw-r--r--
2023-01-13 02:40
brute.lua
50.64
KB
-rw-r--r--
2023-01-13 02:40
cassandra.lua
5.48
KB
-rw-r--r--
2023-01-13 02:40
citrixxml.lua
16
KB
-rw-r--r--
2023-01-13 02:40
coap.lua
75.1
KB
-rw-r--r--
2023-01-13 02:40
comm.lua
11.03
KB
-rw-r--r--
2023-01-13 02:40
creds.lua
18.26
KB
-rw-r--r--
2023-01-13 02:40
cvs.lua
3.05
KB
-rw-r--r--
2023-01-13 02:40
datafiles.lua
11.05
KB
-rw-r--r--
2023-01-13 02:40
datetime.lua
7.5
KB
-rw-r--r--
2023-01-13 02:40
dhcp.lua
28.57
KB
-rw-r--r--
2023-01-13 02:40
dhcp6.lua
19.86
KB
-rw-r--r--
2023-01-13 02:40
dns.lua
51.07
KB
-rw-r--r--
2023-01-13 02:40
dnsbl.lua
19.01
KB
-rw-r--r--
2023-01-13 02:40
dnssd.lua
12.61
KB
-rw-r--r--
2023-01-13 02:40
drda.lua
24.08
KB
-rw-r--r--
2023-01-13 02:40
eap.lua
7.54
KB
-rw-r--r--
2023-01-13 02:40
eigrp.lua
12.98
KB
-rw-r--r--
2023-01-13 02:40
formulas.lua
5.68
KB
-rw-r--r--
2023-01-13 02:40
ftp.lua
9.03
KB
-rw-r--r--
2023-01-13 02:40
geoip.lua
1.71
KB
-rw-r--r--
2023-01-13 02:40
giop.lua
18.42
KB
-rw-r--r--
2023-01-13 02:40
gps.lua
3.38
KB
-rw-r--r--
2023-01-13 02:40
http.lua
117.07
KB
-rw-r--r--
2023-01-13 02:40
httpspider.lua
36.65
KB
-rw-r--r--
2023-01-13 02:40
iax2.lua
9.58
KB
-rw-r--r--
2023-01-13 02:40
idna.lua
17.14
KB
-rw-r--r--
2023-01-13 02:40
ike.lua
14.63
KB
-rw-r--r--
2023-01-13 02:40
imap.lua
9.59
KB
-rw-r--r--
2023-01-13 02:40
informix.lua
39.93
KB
-rw-r--r--
2023-01-13 02:40
ipOps.lua
29.06
KB
-rw-r--r--
2023-01-13 02:40
ipmi.lua
8.08
KB
-rw-r--r--
2023-01-13 02:40
ipp.lua
12.57
KB
-rw-r--r--
2023-01-13 02:40
irc.lua
757
B
-rw-r--r--
2023-01-13 02:40
iscsi.lua
21.38
KB
-rw-r--r--
2023-01-13 02:40
isns.lua
14.98
KB
-rw-r--r--
2023-01-13 02:40
jdwp.lua
43.52
KB
-rw-r--r--
2023-01-13 02:40
json.lua
11.62
KB
-rw-r--r--
2023-01-13 02:40
knx.lua
2.42
KB
-rw-r--r--
2023-01-13 02:40
ldap.lua
31.94
KB
-rw-r--r--
2023-01-13 02:40
lfs.luadoc
1.68
KB
-rw-r--r--
2023-01-13 02:40
libssh2-utility.lua
4.69
KB
-rw-r--r--
2023-01-13 02:40
libssh2.luadoc
4.75
KB
-rw-r--r--
2023-01-13 02:40
listop.lua
4.66
KB
-rw-r--r--
2023-01-13 02:40
lpeg-utility.lua
5.64
KB
-rw-r--r--
2023-01-13 02:40
lpeg.luadoc
351
B
-rw-r--r--
2023-01-13 02:40
ls.lua
10.96
KB
-rw-r--r--
2023-01-13 02:40
match.lua
2.05
KB
-rw-r--r--
2023-01-13 02:40
membase.lua
9.93
KB
-rw-r--r--
2023-01-13 02:40
mobileme.lua
8.46
KB
-rw-r--r--
2023-01-13 02:40
mongodb.lua
21.3
KB
-rw-r--r--
2023-01-13 02:40
mqtt.lua
28.86
KB
-rw-r--r--
2023-01-13 02:40
msrpc.lua
190.07
KB
-rw-r--r--
2023-01-13 02:40
msrpcperformance.lua
29.65
KB
-rw-r--r--
2023-01-13 02:40
msrpctypes.lua
168.52
KB
-rw-r--r--
2023-01-13 02:40
mssql.lua
109.43
KB
-rw-r--r--
2023-01-13 02:40
multicast.lua
5.97
KB
-rw-r--r--
2023-01-13 02:40
mysql.lua
16.03
KB
-rw-r--r--
2023-01-13 02:40
natpmp.lua
5.11
KB
-rw-r--r--
2023-01-13 02:40
nbd.lua
16.04
KB
-rw-r--r--
2023-01-13 02:40
ncp.lua
35.64
KB
-rw-r--r--
2023-01-13 02:40
ndmp.lua
11.43
KB
-rw-r--r--
2023-01-13 02:40
netbios.lua
14.44
KB
-rw-r--r--
2023-01-13 02:40
nmap.luadoc
40.34
KB
-rw-r--r--
2023-01-13 02:40
nrpc.lua
4.46
KB
-rw-r--r--
2023-01-13 02:40
nsedebug.lua
3.49
KB
-rw-r--r--
2023-01-13 02:40
omp2.lua
4.78
KB
-rw-r--r--
2023-01-13 02:40
oops.lua
3.61
KB
-rw-r--r--
2023-01-13 02:40
openssl.luadoc
7.5
KB
-rw-r--r--
2023-01-13 02:40
ospf.lua
15.29
KB
-rw-r--r--
2023-01-13 02:40
packet.lua
36.18
KB
-rw-r--r--
2023-01-13 02:40
pcre.luadoc
6.79
KB
-rw-r--r--
2023-01-13 02:40
pgsql.lua
20.6
KB
-rw-r--r--
2023-01-13 02:40
pop3.lua
5.74
KB
-rw-r--r--
2023-01-13 02:40
pppoe.lua
29.42
KB
-rw-r--r--
2023-01-13 02:40
proxy.lua
11.37
KB
-rw-r--r--
2023-01-13 02:40
punycode.lua
11.5
KB
-rw-r--r--
2023-01-13 02:40
rand.lua
2.7
KB
-rw-r--r--
2023-01-13 02:40
rdp.lua
14.73
KB
-rw-r--r--
2023-01-13 02:40
re.lua
8.22
KB
-rw-r--r--
2023-01-13 02:40
redis.lua
3.61
KB
-rw-r--r--
2023-01-13 02:40
rmi.lua
47.77
KB
-rw-r--r--
2023-01-13 02:40
rpc.lua
107.64
KB
-rw-r--r--
2023-01-13 02:40
rpcap.lua
11.08
KB
-rw-r--r--
2023-01-13 02:40
rsync.lua
5.22
KB
-rw-r--r--
2023-01-13 02:40
rtsp.lua
8.62
KB
-rw-r--r--
2023-01-13 02:40
sasl.lua
16.51
KB
-rw-r--r--
2023-01-13 02:40
shortport.lua
11.99
KB
-rw-r--r--
2023-01-13 02:40
sip.lua
30.07
KB
-rw-r--r--
2023-01-13 02:40
slaxml.lua
17.9
KB
-rw-r--r--
2023-01-13 02:40
smb.lua
173.22
KB
-rw-r--r--
2023-01-13 02:40
smb2.lua
15.34
KB
-rw-r--r--
2023-01-13 02:40
smbauth.lua
37.33
KB
-rw-r--r--
2023-01-13 02:40
smtp.lua
19.85
KB
-rw-r--r--
2023-01-13 02:40
snmp.lua
16
KB
-rw-r--r--
2023-01-13 02:40
socks.lua
8.25
KB
-rw-r--r--
2023-01-13 02:40
srvloc.lua
10.99
KB
-rw-r--r--
2023-01-13 02:40
ssh1.lua
9.15
KB
-rw-r--r--
2023-01-13 02:40
ssh2.lua
11.73
KB
-rw-r--r--
2023-01-13 02:40
sslcert.lua
33.35
KB
-rw-r--r--
2023-01-13 02:40
sslv2.lua
9.68
KB
-rw-r--r--
2023-01-13 02:40
stdnse.lua
32.64
KB
-rw-r--r--
2023-01-13 02:40
strbuf.lua
4.52
KB
-rw-r--r--
2023-01-13 02:40
strict.lua
2.53
KB
-rw-r--r--
2023-01-13 02:40
stringaux.lua
4.32
KB
-rw-r--r--
2023-01-13 02:40
stun.lua
11.08
KB
-rw-r--r--
2023-01-13 02:40
tab.lua
3.35
KB
-rw-r--r--
2023-01-13 02:40
tableaux.lua
2.06
KB
-rw-r--r--
2023-01-13 02:40
target.lua
3.93
KB
-rw-r--r--
2023-01-13 02:40
tftp.lua
9.41
KB
-rw-r--r--
2023-01-13 02:40
tls.lua
58.05
KB
-rw-r--r--
2023-01-13 02:40
tn3270.lua
46.99
KB
-rw-r--r--
2023-01-13 02:40
tns.lua
64.16
KB
-rw-r--r--
2023-01-13 02:40
unicode.lua
14.23
KB
-rw-r--r--
2023-01-13 02:40
unittest.lua
12.41
KB
-rw-r--r--
2023-01-13 02:40
unpwdb.lua
10.42
KB
-rw-r--r--
2023-01-13 02:40
upnp.lua
11.18
KB
-rw-r--r--
2023-01-13 02:40
url.lua
16.7
KB
-rw-r--r--
2023-01-13 02:40
versant.lua
8.58
KB
-rw-r--r--
2023-01-13 02:40
vnc.lua
25.54
KB
-rw-r--r--
2023-01-13 02:40
vulns.lua
76.45
KB
-rw-r--r--
2023-01-13 02:40
vuzedht.lua
16.21
KB
-rw-r--r--
2023-01-13 02:40
wsdd.lua
11.98
KB
-rw-r--r--
2023-01-13 02:40
xdmcp.lua
12.09
KB
-rw-r--r--
2023-01-13 02:40
xmpp.lua
15.91
KB
-rw-r--r--
2023-01-13 02:40
zlib.luadoc
4.88
KB
-rw-r--r--
2023-01-13 02:40
Save
Rename
--- -- Unit testing support for NSE libraries. -- -- This library will import all NSE libraries looking for a global variable -- <code>test_suite</code>. This must be a callable that returns true or false -- and the number of tests that failed. For convenience, the -- <code>unittest.TestSuite</code> class has this property, and tests can be -- added with <code>add_test</code>. Example: -- -- <code> -- local data = {"foo", "bar", "baz"} -- test_suite = unittest.TestSuite:new() -- test_suite:add_test(equal(data[2], "bar"), "data[2] should equal 'bar'") -- </code> -- -- The library is driven by the unittest NSE script. -- -- @copyright Same as Nmap--See https://nmap.org/book/man-legal.html local stdnse = require "stdnse" local string = require "string" local table = require "table" local nmap = require "nmap" local nsedebug = require "nsedebug" local listop = require "listop" _ENV = stdnse.module("unittest", stdnse.seeall) local libs = { "afp", "ajp", "amqp", "anyconnect", "asn1", "base32", "base64", "bitcoin", "bits", "bittorrent", "bjnp", "brute", "cassandra", "citrixxml", "coap", "comm", "creds", "cvs", "datafiles", "datetime", "dhcp", "dhcp6", "dns", "dnsbl", "dnssd", "drda", "eap", "eigrp", "formulas", "ftp", "geoip", "giop", "gps", "http", "httpspider", "iax2", "idna", "ike", "imap", "informix", "ipOps", "ipmi", "ipp", "irc", "iscsi", "isns", "jdwp", "json", "knx", "ldap", "lfs", "libssh2", "libssh2-utility", "listop", "lpeg", "lpeg-utility", "ls", "match", "membase", "mobileme", "mongodb", "mqtt", "msrpc", "msrpcperformance", "msrpctypes", "mssql", "multicast", "mysql", "natpmp", "nbd", "ncp", "ndmp", "netbios", "nmap", "nrpc", "nsedebug", "omp2", "openssl", "ospf", "packet", "pcre", "pgsql", "pop3", "pppoe", "proxy", "punycode", "rand", "rdp", "re", "redis", "rmi", "rpc", "rpcap", "rsync", "rtsp", "sasl", "shortport", "sip", "slaxml", "smb", "smb2", "smbauth", "smtp", "snmp", "socks", "srvloc", "ssh1", "ssh2", "sslcert", "sslv2", "stdnse", "strbuf", --"strict", -- behaves oddly "stringaux", "stun", "tab", "tableaux", "target", "tftp", "tls", "tn3270", "tns", "unicode", "unittest", "unpwdb", "upnp", "url", "versant", "vnc", "vulns", "vuzedht", "wsdd", "xdmcp", "xmpp", "zlib", } -- This script-arg is documented in the unittest script to avoid cluttering -- NSEdoc of all the libraries which include this one. local am_testing = stdnse.get_script_args('unittest.run') ---Check whether tests are being run -- -- Libraries can use this function to avoid the overhead of creating tests if -- the user hasn't chosen to run them. Unittesting is turned on with the -- <code>unittest.run</code> script-arg. -- @return true if unittests are being run, false otherwise. function testing() return am_testing end --- -- Run tests provided by NSE libraries -- @param to_test A list (table) of libraries to test. If none is provided, all -- libraries are tested. run_tests = function(to_test) am_testing = true if to_test == nil then to_test = libs end local fails = stdnse.output_table() for _,lib in ipairs(to_test) do stdnse.debug1("Testing %s", lib) local status, thelib = pcall(require, lib) if not status then stdnse.debug1("Failed to load %s: %s", lib, thelib) else local failed = 0 if rawget(thelib,"test_suite") ~= nil then failed = thelib.test_suite() end if failed ~= 0 then fails[lib] = failed end end end return fails end --- The TestSuite class -- -- Holds and runs tests. TestSuite = { --- Creates a new TestSuite object -- -- @name TestSuite.new -- @return TestSuite object new = function(self) local o = {} setmetatable(o, self) self.__index = self o.tests = {} return o end, --- Set up test environment. Override this. -- @name TestSuite.setup setup = function(self) return true end, --- Tear down test environment. Override this. -- @name TestSuite.teardown teardown = function(self) return true end, --- Add a test. -- @name TestSuite.add_test -- @param test Function that will be called with the TestSuite object as its only parameter. -- @param description A description of the test being run add_test = function(self, test, description) self.tests[#self.tests+1] = {test, description} end, --- Run tests. -- Runs all tests in the TestSuite, and returns the number of failures. -- @name TestSuite.__call -- @return failures The number of tests that failed -- @return tests The number of tests run __call = function(self) local failures = 0 local passes = 0 self:setup() for _,test in ipairs(self.tests) do stdnse.debug2("| Test: %s...", test[2]) local status, note = test[1](self) local result local lvl = 2 if status then result = "Pass" passes = passes + 1 else result = "Fail" lvl = 1 if nmap.debugging() < 2 then stdnse.debug1("| Test: %s...", test[2]) end failures = failures + 1 end if note then stdnse.debug(lvl, "| \\_result: %s (%s)", result, note) else stdnse.debug(lvl, "| \\_result: %s", result) end end stdnse.debug1("|_%d of %d tests passed", passes, #self.tests) self:teardown() return failures, #self.tests end, } --- Test creation helper function. -- Turns a simple function into a test factory. -- @param test A function that returns true or false depending on test -- @param fmt A format string describing the failure condition using the -- arguments to the test function -- @return function that generates tests suitable for use in add_test make_test = function(test, fmt) return function(...) local args={...} local nargs = select("#", ...) return function(suite) if not test(table.unpack(args,1,nargs)) then return false, string.format(fmt, table.unpack(listop.map(nsedebug.tostr, args),1,nargs)) end return true end end end --- Test for nil -- @param value The value to test -- @return bool True if the value is nil, false otherwise. is_nil = function(value) return value == nil end is_nil = make_test(is_nil, "Expected not nil, got %s") --- Test for not nil -- @param value The value to test -- @return bool True if the value is not nil, false otherwise. not_nil = function(value) return value ~= nil end not_nil = make_test(not_nil, "Expected not nil, got %s") --- Test tables for equality, 1 level deep -- @param a The first table to test -- @param b The second table to test -- @return bool True if #a == #b and a[i] == b[i] for every i<#a, false otherwise. table_equal = function(a, b) return function (suite) if #a ~= #b then return false, "Length not equal" end for i, v in ipairs(a) do if b[i] ~= v then return false, string.format("%s ~= %s at position %d", v, b[i], i) end end return true end end --- Test associative tables for equality, 1 level deep -- @param a The first table to test -- @param b The second table to test -- @return bool True if a[k] == b[k] for all k in a and b keys_equal = function(a, b) return function (suite) local seen = {} for k, v in pairs(a) do if b[k] ~= v then return false, ("%s ~= %s at key %s"):format(v, b[k], k) end seen[k] = true end for k, v in pairs(b) do if not seen[k] then return false, ("Key %s not present in table a"):format(k) end end return true end end --- Test two values for equality, recursively if necessary. -- -- This function checks that both values are indistinguishable in all -- but memory location. -- -- @param a The first value to test. -- @param b The second value to test -- @return bool True if values are indistinguishable, false otherwise. -- @return note Nil if values are indistinguishable, description of -- distinguishability otherwise. identical = function(a, b) return function(suite) local function _identical(val1, val2, path) local table_size = function(tbl) local count = 0 for k in pairs(tbl) do count = count + 1 end return count end -- Both values must be of the same type local t1, t2 = type(val1), type(val2) if t1 ~= t2 then return false, string.format("Types of %s are not equal: %s ~= %s", path, t1, t2) end -- For non-tables, we can make a direct comparison. if t1 ~= "table" then if val1 ~= val2 then return false, string.format("Values of %s are not equal: %s ~= %s", path, val1, val2) end return true end -- For tables, we must first check that they are of equal size. local len1, len2 = table_size(val1), table_size(val2) if len1 ~= len2 then return false, string.format("Sizes of %s are not equal: %s ~= %s", path, len1, len2) end -- Finally, we must recursively check all of the values in the tables. for k,v in pairs(val1) do -- Check that the key's value is identical in both tables, passing -- along the path of keys we have taken to get here. local status, note = _identical(val1[k], val2[k], string.format('%s["%s"]', path, k)) if not status then return false, note end end return true end return _identical(a, b, "<top>") end end --- Test for equality -- @param a The first value to test -- @param b The second value to test -- @return bool True if a == b, false otherwise. equal = function(a, b) return a == b end equal = make_test(equal, "%s not equal to %s") --- Test for inequality -- @param a The first value to test -- @param b The second value to test -- @return bool True if a != b, false otherwise. not_equal = function(a, b) return a ~= b end not_equal = make_test(not_equal, "%s unexpectedly equal to %s") --- Test for truth -- @param value The value to test -- @return bool True if value is a boolean and true is_true = function(value) return value == true end is_true = make_test(is_true, "Expected true, got %s") --- Test for falsehood -- @param value The value to test -- @return bool True if value is a boolean and false is_false = function(value) return value == false end is_false = make_test(is_false, "Expected false, got %s") --- Test less than -- @param a The first value to test -- @param b The second value to test -- @return bool True if a < b, false otherwise. lt = function(a, b) return a < b end lt = make_test(lt, "%s not less than %s") --- Test less than or equal to -- @param a The first value to test -- @param b The second value to test -- @return bool True if a <= b, false otherwise. lte = function(a, b) return a <= b end lte = make_test(lte, "%s not less than %s") --- Test length -- @param t The table to test -- @param l The length to test -- @return bool True if the length of t is l length_is = function(t, l) return #t == l end length_is = make_test(length_is, "Length of %s is not %s") --- Expected failure test -- @param test The test to run -- @return function A test for expected failure of the test expected_failure = function(test) return function(suite) if test(suite) then return false, "Test unexpectedly passed" end return true, "Test failed as expected" end end if not testing() then return _ENV end -- Self test test_suite = TestSuite:new() test_suite:add_test(is_nil(test_suite["asdfdoesnotexist"]), "Nonexistent key does not exist") test_suite:add_test(equal(1+1336, 7 * 191), "Arithmetically equal expressions are equal") test_suite:add_test(not_equal( true, "true" ), "Boolean true not equal to string \"true\"") test_suite:add_test(is_true("test" == "test"), "Boolean expression evaluates to true") test_suite:add_test(is_false(1.9999 == 2.0), "Boolean expression evaluates to false") test_suite:add_test(lt(1, 999), "1 < 999") test_suite:add_test(lte(8, 8), "8 <= 8") test_suite:add_test(expected_failure(not_nil(nil)), "Test expected to fail fails") test_suite:add_test(expected_failure(expected_failure(is_nil(nil))), "Test expected to succeed does not fail") test_suite:add_test(keys_equal({one=1,two=2,[3]="three"},{[3]="three",one=1,two=2}), "identical tables are identical") test_suite:add_test(expected_failure(keys_equal({one=1,two=2},{[3]="three",one=1,two=2}), "dissimilar tables are dissimilar")) test_suite:add_test(identical(0, 0), "integer === integer") test_suite:add_test(identical(nil, nil), "nil === nil") test_suite:add_test(identical({}, {}), "{} === {}") test_suite:add_test(length_is(test_suite.tests, 15), "Number of tests is 15") return _ENV;