RCE
всем любителям этого лаунчера посвящается. Махинациями с путями в хеше можно дойти до корня жесткого диска, попасть куда душе угодно, а дальше уже дело техники :)
Не очень реальный сценарий делать запись файлов через это. Properties игрока передаются с сервера, а не с других клиентов или ещё откуда, поэтому даже чисто теоретически это эксплоитится только если сервер захочет чего записать не туда куда надо (причём вслепую), ну а со стороны сервера/проекта можно просто в лаунчер что-нибудь очень нехорошее встроить и не заниматься этим мазохизмом :)
Ну а так, валидация там конечно нужна, но не в виде просто убирания "точечек". Хэш имеет определённый формат, его и надо проверять. Поменяйте на нормальную проверку, приму.
Да без проблем, в основном твой лаунчер стоит на серверах с модами, найти уязвимость на выдачу предметов и записать нужные данные в нбт. Чем не способ?
По поводу валидации: мне не очень хотелось добавлять какие-то сильные барьеры в этот кусок кода, ибо некоторые все же не используют нормальный хеш в этих местах. Такое решение было самое быстрое, как по мне. P.S: Я бы это вообще не исправлял это в данном месте, ибо это проще исправить сам клиент, но кто ж будет лезть в него в рукомьюнити? Единицы.
P.S.S: скорее всего, надо бы ещё и textures проверять, раз уж на то пошло.