Jump to content
Sign in to follow this  
e1mer

Все прелести команды &lua

Recommended Posts

Все мы прекрасно знаем о такой чудесной команде &lua, но все ли знают о другой, плохой стороне этой команды в плохих руках?

 

Да мы можем мгновенно не перезагружая GS`ов, изменять наши глобальные переменные, или проделывать ещё какие-либо операции, но и при наличии доступа к этой команде, можно украсть все ваши данные, залить шелл на машину где стоит сервер, заразить машину вирусом, ну или вовсе спалить, зависит от фантазии, чтобы было понятней:

 

Если вы получили доступ к этой команде, вы можете использовать Командную строку, а так же язык Lua, кол-во символов в чате спокойно снимается в клиенте.


Если же вы захотели украсть файлы, то:

  1. Создаем файл .bat, который сольет наш шелл;
  2. Запустим этот самый шелл;
  3. Сольем что нам нужно;
  4. Затрем следы;

Все это спокойно проделывается через игровой клиент, используя местный чат и команду &lua.

 

Описывать способы и давать конкретный набор команд или софт я не буду, все есть в интернете, я лишь дал пищу для размышления администраторам игровых серверов.

Да и ещё, команду &lua может использовать аккаунт с 99-ми правами GM, по этому злоумышленнику надо ещё взломать вас и получить GM аккаунт.

 

Пример (флуд в консоль GS`а):

&lua local i = 0 while i < 10 do print("&lua - good command!") end

 

 

UPD (используйте GS.exe, пропатченый V3ct0r`ом:

3 часа назад, NMS3RR сказал:

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


function HandleChat(role, message)
	local original_id  = GetOriginalChaTypeID(role)
	local gmlvl = GetGmLv(role)
	local check = string.find(message, "&", 1)
	local Cha_Boat = 0
	Cha_Boat = GetCtrlBoat ( role )
	local slesh = string.find(message, "/", 1)
	elseif check ~= nil then
			if (message == "&lua") then
				SystemNotice(role, "Доступ запрещен!")
				return 0
			end
			if (message == "&lua_all") then
				SystemNotice(role, "Доступ запрещен!")
				return 0
			end
				if (message == "&gamesvrstop") then
					SystemNotice(role, "Доступ запрещен!")
					return 0
				end
				if (message == "&reload") then
					SystemNotice(role, "Доступ запрещен!")
					return 0
				end
				if (message == "&updateall") then
				SystemNotice(role, "Доступ запрещен!")
					return 0
				end
				return 1
			end
		else
			SystemNotice(role, "Доступ запрещен!")
			return 0
		end
	end
	return 1
 end

 

Edited by e1mer

Share this post


Link to post
Share on other sites

Здесь человеку через эту команду заливают PHP шелл


Share this post


Link to post
Share on other sites

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

function HandleChat(role, message)
	-- local original_id  = GetOriginalChaTypeID(role)
	-- local gmlvl = GetGmLv(role)
	-- local check = string.find(message, "&", 1)
	-- local Cha_Boat = 0
	-- Cha_Boat = GetCtrlBoat ( role )
	-- local slesh = string.find(message, "/", 1)
	-- elseif check ~= nil then
			-- -- if (message == "&lua") then
				-- -- SystemNotice(role, "Доступ запрещен!")
				-- -- return 0
			-- -- end
			-- -- if (message == "&lua_all") then
				-- -- SystemNotice(role, "Доступ запрещен!")
				-- -- return 0
			-- -- end
				-- -- if (message == "&gamesvrstop") then
					-- -- SystemNotice(role, "Доступ запрещен!")
					-- -- return 0
				-- -- end
				-- -- if (message == "&reload") then
					-- -- SystemNotice(role, "Доступ запрещен!")
					-- -- return 0
				-- -- end
				-- -- if (message == "&updateall") then
				-- -- SystemNotice(role, "Доступ запрещен!")
					-- -- return 0
				-- -- end
				-- -- return 1
			-- -- end
		-- -- else
			-- -- SystemNotice(role, "Доступ запрещен!")
			-- -- return 0
		-- -- end
	-- end
	-- return 1
 end

 


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites

@NMS3RR весь код, который ты скинул, закомментирован (--)


Share this post


Link to post
Share on other sites
1 минуту назад, V3ct0r сказал:

@NMS3RR весь код, который ты скинул, закомментирован (--)

ну я думаю люди то разберутся что да как)) 
Я его у себя просто закомментил, чтоб не мешало работать.
 


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
20 минуты назад, e1mer сказал:

Обновил первый пост

Ну хоть бы (--) убрал, а то это уже не очень смотрится)


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
В 05.09.2016 в 03:51, Am*n9ma сказал:

зы: хоть бы написали, что я автор этого кода для HandleChat =\ Бякусы.

Если бы я знал кто я бы написал.
Я взял этот кусок кода у себя из сборки, но и не думаю что до этого тяжело додуматься если пропатченный  GS.
Самое оптимальное это переименовать ГМ команды по гайду V3ctor`a тогда злоумышленник ничего не сможет сделать и для него ГМ акк будет обычным акком.


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
6 часов назад, NMS3RR сказал:

Если бы я знал кто я бы написал.
Я взял этот кусок кода у себя из сборки, но и не думаю что до этого тяжело додуматься если пропатченный  GS.
Самое оптимальное это переименовать ГМ команды по гайду V3ctor`a тогда злоумышленник ничего не сможет сделать и для него ГМ акк будет обычным акком.

 

Ошибаешься, насчет переименовать. Самое оптимальное в конфиге ГСа, где supercmd поставить то ли 0, то ли 1. Но скорее всего 0. Тогда гм команды не работают, кроме телепорта и бана чатов) Ну это по правильному так делать.

Share this post


Link to post
Share on other sites
5 часов назад, Am*n9ma сказал:

 

Ошибаешься, насчет переименовать. Самое оптимальное в конфиге ГСа, где supercmd поставить то ли 0, то ли 1. Но скорее всего 0. Тогда гм команды не работают, кроме телепорта и бана чатов) Ну это по правильному так делать.

Не признал тебя сначала(:
Но вообще мне допустим нужны команды для перезагрузки файлов и прочего, чтоб не тревожить игроков частыми перезапусками ушел на тестовый сервер и там тестируешь обновляя файлы и прочее без вреда игрокам. 
Но если кто либо получит каким то чудесным образом доступ к аккаунту то он не сможет воспользоваться командами так как все они изменены и знаю их только я.
И поэтому вырывать их с корнем не очень хорошая затея, имхо.


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...