- Баллы
- 61
Уже ни для кого не новость что стало принято взламывать сервера с помощью "левых" плагинов и не только. И у читающего уже наверняка есть готовый ответ в голове: "скачивай лишь офф. плагины с dev.bukkit либо spigot". Однако, к сожалению не всегда удается найти тот или иной плагин в исходном виде на этих сайтах, либо он есть, но заброшен и не обновляется.
Я искал на форме подобные темы, но все что нашел это:
http://rubukkit.org/threads/plagin-dlja-zaschity-ot-backdoor.117456/#post-1309106
http://rubukkit.org/threads/lomajut-na-opku.86362/page-3
И мне кажется того что там описано - не достаточно.
Я, к сожалению, действительно совсем новичек в этой теме и для меня "фикс" плагинов с уязвимостями является серьезной проблемой. Точнее самой главной проблемой для меня является "нахождение" таких уязвимостей.
Казалось бы ищи строчку в исходниках
"Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "op " + sender);"
- да вот только как находить это все в "готовых плагинах"
(а исходники не всегда есть, и не факт что их не изменяли)
- как поступать если действие происходит не по комманде /vzlomatopky (это можно убрать из plugin.yml), а, к примеру, по действию (прыжок, бег, падение, смерть), допустим? Конечно по отдельности это все можно отследить, но есть люди и похитрее, которые так все скроют что и не найдешь.
Однако на больших "проектах" все же как-то проверяются плагины и уж точно никакого "forceop" там нет. Как они это делают? Как можно проверить уже скомпиленный плагин на уязвимости?
Пишите сюда всевозможные ухитрения, до которых можете додуматься и как их находить и фиксить.
Я начну:
#Как создается# создаём простейшую команду с указанным выше строковым примером и выдаем оп тому, кто эту команду запустит
#Как фиксится# (баян, но все же) допустим вы увидели название команды-хака через консоль и выяснили что это за плагин.
как вариант можно подправить plugin.yml и убрать эту команду.
Вот еще такой вопрос, где именно стоит искать уязвимости?
Ну, понятно что там где выполняются команды, и под всеми @EventHandler естественно.
Но не все так просто, куда еще могут прятать "вредный" код?
Я искал на форме подобные темы, но все что нашел это:
http://rubukkit.org/threads/plagin-dlja-zaschity-ot-backdoor.117456/#post-1309106
http://rubukkit.org/threads/lomajut-na-opku.86362/page-3
И мне кажется того что там описано - не достаточно.
Я, к сожалению, действительно совсем новичек в этой теме и для меня "фикс" плагинов с уязвимостями является серьезной проблемой. Точнее самой главной проблемой для меня является "нахождение" таких уязвимостей.
Казалось бы ищи строчку в исходниках
"Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "op " + sender);"
- да вот только как находить это все в "готовых плагинах"
(а исходники не всегда есть, и не факт что их не изменяли)
- как поступать если действие происходит не по комманде /vzlomatopky (это можно убрать из plugin.yml), а, к примеру, по действию (прыжок, бег, падение, смерть), допустим? Конечно по отдельности это все можно отследить, но есть люди и похитрее, которые так все скроют что и не найдешь.
Однако на больших "проектах" все же как-то проверяются плагины и уж точно никакого "forceop" там нет. Как они это делают? Как можно проверить уже скомпиленный плагин на уязвимости?
Пишите сюда всевозможные ухитрения, до которых можете додуматься и как их находить и фиксить.
Я начну:
#Как создается# создаём простейшую команду с указанным выше строковым примером и выдаем оп тому, кто эту команду запустит
#Как фиксится# (баян, но все же) допустим вы увидели название команды-хака через консоль и выяснили что это за плагин.
как вариант можно подправить plugin.yml и убрать эту команду.
Да, это уже ближе к тому что я искал. Добавлю в шапку.Через JDGUI можно посмотреть исходники, если нет обфускации. Если есть - в жопу такой плагин, значит есть что скрывать.
Вот еще такой вопрос, где именно стоит искать уязвимости?
Ну, понятно что там где выполняются команды, и под всеми @EventHandler естественно.
Но не все так просто, куда еще могут прятать "вредный" код?
Последнее редактирование: