LINUX.ORG.RU

Grey Hack, код shellweb

 


0

1

Помогите исправить ошибку, пожалуйста! Выдает ошибку Type Error (while attempting to look up replace) [line 30]

Код:

if params.len != 2 or params[0] == «-h» or params[0] == «–help» then exit(«Usage: «+program_path.split(»/»)[-1]+" [ip_address] [port]")

metaxploit = include_lib(«/lib/metaxploit.so»)

if not metaxploit then

currentPath = get_shell.host_computer.current_path

metaxploit = include_lib(currentPath + "/metaxploit.so")

end if

if not metaxploit then exit(«Error: Can’t find metaxploit library in the /lib path or the current folder»)

address = params[0]

port = params[1].to_int

net_session = metaxploit.net_use( address, port )

if not net_session then exit(«Error: can’t connect to net session»)

metaLib = net_session.dump_lib

quit = function(shell, pass) print(«Root Password:») get_shell.launch(«/bin/decipher», pass) shell.start_terminal end function

shell = null pass = null memory = metaxploit.scan(metaLib) for mem in memory adress = metaxploit.scan_address(metaLib, mem). split("Unsafe check: ") for add in adress if add == address[0] then continue if shell and pass then quit(shell, pass)

	value = add[add.indexOf("<b>")+3:add.indexOf("</b>")]
	value = value.replace("\n", "") <--- Ошибка!!! 
	result = metaLib.overflow(mem, value)
	
	if typeof(result) != "shell" and typeof(result) != "computer" then continue
	if typeof(result) == "shell" then shell = result 
	if typeof(result) == "shell" then comp = result.host_computer
	if typeof(result) == "computer" then comp = result 
	
	file = comp.File("/etc/passwd")
	if not file then continue 
	cont = file.content
	if not cont then continue
	pass = cont.split("\n")[0]
	if shell then quit(shell, pass)
end for

end for if shell then shell.start_terminal exit(«Exploit Failes»)



Последнее исправление: Minimum (всего исправлений: 1)

Ответ на: комментарий от Minimum

нет, это код для игры Grey Hack

Grey Hack allows players to create their own executables from within the game, programmed in the GreyScript language.

эм. А какой помощи ты ждешь? Мне кажется, что программистов на языке одной игры тебе будет достаточно сложно найти. Это какой-то диалект js или они просто используют такое расширение?

Учитывая, что игра в раннем доступе и скриптование там появилось в начале марта, возможно лучше попробовать написать разработчикам.

и при чем здесь unix вообще?

anonymous
()
Ответ на: комментарий от anonymous

скриптование там появилось в начале марта,

ой, 2019 года. Правда особо ничего не меняет ;)

anonymous
()
Ответ на: комментарий от Minimum

Какой язык программирования это? then от паскаля, что-то питошно выглядит, какой то бульдогоносорог

Тренируйся на пентагоне

I-Love-Microsoft ★★★★★
()

Эта ошибка специальная в игре сделана? Ну тогда смотри ниже есть код, которые делает тоже самое, убирает перевод строки cont.split(«\n»)[0]. Поменяй свой проблемный на такой же.

bass ★★★★★
()
Ответ на: комментарий от bass

ниже есть код, которые делает тоже самое, убирает перевод строки cont.split(«\n»)[0]

он не убирает перевод строки, а разбивает строки по ‘\n’ и берет первый кусок

из теста ошибки могу предположить, что после

value = add[add.indexOf("<b>")+3:add.indexOf("</b>")]

в value лежит то, к чему нельзя применить indexOf и, вероятно, split

anonymous
()

Там в почтовом письме будет файл с названием decipher. Скачай его и открой.

anonymous
()
28 июня 2020 г.

Я не знаю что там делает весь кусок кода, но тот который не работает пытается распарсить вывод команды Overflow на список переменных. Ниже представлена функция, который на вход получает вывод команды Overflow, а на выход отдает список переменных.

////////////////////////////////////////////////////////////////////////
// GetVarName - return variables for overflow from scan address result
///////////////////////////////////////////////////////////////////////
GetVarName = function(s)
	result = []
	s1 = s.split("...")[2]
	s1 = s1[1:-1]
	for line in s1.split("Unsafe check")
		if line.len > 0 then
			s2 = line.split(".")[0]
			s3 = s2.split(" ")[-1]
			result = result + [s3[3:-4]]
		end if
	end for
	return result
end function
d___
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.