Files
greyhack/source/overflow.src
2026-08-23 21:17:51 +02:00

59 lines
1.4 KiB
Plaintext

if params.len < 1 or params[0] == "-h" or params[0] == "--help" then
current_program = get_shell.host_computer.File(program_path)
print "Usage: " + current_program.name + " <library path>"
print "--- OR ---"
exit "Usage: " + current_program.name + " <remote ip> <remote port> <address> <data>"
end if
mx = include_lib("/lib/metaxploit.so")
extra_data = ""
if params.len == 1 or params.len == 2 then
lib_file = get_shell.host_computer.File(params[0])
if not lib_file then
lib_file = get_shell.host_computer.File(current_path + params[0])
if not lib_file then exit("Unable to load library from local path")
end if
lib = mx.load(lib_file.path)
if params.len == 2 then
extra_data = params[1]
end if
else
ip = params[0]
port = params[1].to_int
address = params[2]
data = params[3]
if port == 0 then
sess = mx.net_use(ip)
else
sess = mx.net_use(ip, port)
end if
if not sess then
exit "Unable to establish session"
end if
lib = sess.dump_lib
if params.len == 5 then
extra_data == params[4]
end if
end if
if extra_data != "" then
extra_data = params[4]
of = lib.overflow(address, data, extra_data)
else
of = lib.overflow(address, data)
end if
to = typeof(of)
if to == "shell" then
of.start_terminal
else if to == "file" then
print of.path(true)
if of.is_folder then
for f in of.get_files
print f.owner + " " + f.group + " " + f.permissions + " " + f.name
end for
else
print of.get_content
end if
else
print typeof(of)
end if