e1mer 102 Report post Posted April 8, 2016 (edited) Все мы прекрасно знаем о такой чудесной команде &lua, но все ли знают о другой, плохой стороне этой команды в плохих руках? Да мы можем мгновенно не перезагружая GS`ов, изменять наши глобальные переменные, или проделывать ещё какие-либо операции, но и при наличии доступа к этой команде, можно украсть все ваши данные, залить шелл на машину где стоит сервер, заразить машину вирусом, ну или вовсе спалить, зависит от фантазии, чтобы было понятней: Если вы получили доступ к этой команде, вы можете использовать Командную строку, а так же язык Lua, кол-во символов в чате спокойно снимается в клиенте. Если же вы захотели украсть файлы, то: Создаем файл .bat, который сольет наш шелл; Запустим этот самый шелл; Сольем что нам нужно; Затрем следы; Все это спокойно проделывается через игровой клиент, используя местный чат и команду &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 April 9, 2016 by e1mer Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted April 8, 2016 Здесь человеку через эту команду заливают PHP шелл Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
WVWMK 121 Report post Posted April 9, 2016 Вот кусок кода чтоб никто не юзал серверные команды, думаю его много кто использует.. И злоумышленник даже если имеет доступ к гм акку максимум рисовать может себе.. 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 Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted April 9, 2016 @NMS3RR весь код, который ты скинул, закомментирован (--) Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
WVWMK 121 Report post Posted April 9, 2016 1 минуту назад, V3ct0r сказал: @NMS3RR весь код, который ты скинул, закомментирован (--) ну я думаю люди то разберутся что да как)) Я его у себя просто закомментил, чтоб не мешало работать. Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
e1mer 102 Report post Posted April 9, 2016 Обновил первый пост Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted April 9, 2016 20 минуты назад, e1mer сказал: Обновил первый пост Ну хоть бы (--) убрал, а то это уже не очень смотрится) Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
Panda 11 Report post Posted September 5, 2016 зы: хоть бы написали, что я автор этого кода для HandleChat =\ Бякусы. Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted September 6, 2016 В 05.09.2016 в 03:51, Am*n9ma сказал: зы: хоть бы написали, что я автор этого кода для HandleChat =\ Бякусы. Если бы я знал кто я бы написал. Я взял этот кусок кода у себя из сборки, но и не думаю что до этого тяжело додуматься если пропатченный GS. Самое оптимальное это переименовать ГМ команды по гайду V3ctor`a тогда злоумышленник ничего не сможет сделать и для него ГМ акк будет обычным акком. Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
Panda 11 Report post Posted September 6, 2016 6 часов назад, NMS3RR сказал: Если бы я знал кто я бы написал. Я взял этот кусок кода у себя из сборки, но и не думаю что до этого тяжело додуматься если пропатченный GS. Самое оптимальное это переименовать ГМ команды по гайду V3ctor`a тогда злоумышленник ничего не сможет сделать и для него ГМ акк будет обычным акком. Ошибаешься, насчет переименовать. Самое оптимальное в конфиге ГСа, где supercmd поставить то ли 0, то ли 1. Но скорее всего 0. Тогда гм команды не работают, кроме телепорта и бана чатов) Ну это по правильному так делать. Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted September 6, 2016 5 часов назад, Am*n9ma сказал: Ошибаешься, насчет переименовать. Самое оптимальное в конфиге ГСа, где supercmd поставить то ли 0, то ли 1. Но скорее всего 0. Тогда гм команды не работают, кроме телепорта и бана чатов) Ну это по правильному так делать. Не признал тебя сначала(: Но вообще мне допустим нужны команды для перезагрузки файлов и прочего, чтоб не тревожить игроков частыми перезапусками ушел на тестовый сервер и там тестируешь обновляя файлы и прочее без вреда игрокам. Но если кто либо получит каким то чудесным образом доступ к аккаунту то он не сможет воспользоваться командами так как все они изменены и знаю их только я. И поэтому вырывать их с корнем не очень хорошая затея, имхо. Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites