@dsliwa2: No kod PHP masz tylko we frontendzie jako tekst a w trakcie wykonania jest wrzucany ajaxem na serwer. I tam się wykonuje. Dzięki temu możesz sobie we frontendzie generować na przykład zapytania sql do bazy danych niedostępnej poprzez przeglądarkę. Nie musisz mieć backendu oprócz jednego pliku index.php który wykona ten kod. W zasadzie jakby ten commit przeszedł nie musisz mieć nawet swojego serwera bo twój kod zadziałałby na każdym serwerze
a na ludzki? ( ͡°ʖ̯͡°) tak żeby każdy wykopek zrozumiał
Hakierzy uzyskali dostęp do repozytorium PHP. Dzięki temu mogli wysłać tam "poprawkę" - a w rzeczywistości był to kod tworzący tylną furtkę. Działanie furtki polegało na tym, że w nagłówku żądania do serwera można było wstawić ciąg znaków. Tak normalnie ten ciąg znaków jest zwykłym tekstem (np.: "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT
Jako koleś od security powiem tak : Ktoś miał chrapkę na dużego gracza i duży wyciek i pewnie pozostałe repo na git zawierające inne dystrybucję też to mają. Trzeba przejrzeć wszystkie dystrybucje z których korzystają duzi gracze. Możliwe że ktoś chciał się dostać do firm obsługujących przelewy bankowe do Afryki, bo te firmy mają systemy napisane w PHP do pośrednictwa przelewów. Wiem co piszę, bo siedzę w temacie. Atak na dużą firmę
Niestety, obawiam się, że tego typu "wektory ataku" są dużo tańsze od innych metod dla wszelkich służb, które mają dostęp do amerykańskich (i chińskich) gigantów i praktyka jest bardziej powszechna niż nam się wydaje. Po internecie "lata" mnóstwo współdzielonych na CDNach zasobów, których sum kontrolnych nikt nie sprawdza (i przy tym nic nie stoi na przeszkodzie, żeby tylko "wybrańcy" otrzymywali zhakowany kod, albo sekwencję uruchamiającą backdoor w jakimś procesorze - umieszczoną np.
władowanie jakiejkolwiek zmiany jest publiczne i widoczne
@ProgramistaHTML: no właśnie na tym może polegać atak, że "zmieniasz zmianę" po mocnym CR i 50 akceptach sprzed np. 4 lat. Dzisiaj, 3000 commitów od tamtego czasu trudno będzie Ci dociec czy Microsoft Ciebie właśnie atakuje bo posiadasz kluczowe dla amerykańskiej obrony, albo dla amerykańskich interesów informacje ( ͡°͜ʖ͡°) A jak kod jest z zamkniętymi źródłami, to już
a więc musiałbyś dodać payload który zmienia kawałek drzewa (a więc dodajesz to do jakiegoś katalogu w repozytorium, tak żeby hash tego katalogu się nie zmienił) i tak długo jak długo nikt nie dotknie żadnego pliku w tym katalogu, tak długo hash tego drzewa nie powinien ulec zmianie i wszystkie
Pytanie do znawców. Mam podstawy PHP na Bazach Danych i zastanawiam się czy w ogóle drążyć ten i czy nie lepiej szkolić się w Pythonie. Podstawy tego języka mam na innym przedmiocie.
@Mamut: Dobrych programistów PHP jest jak na lekarstwo, coraz mniej nowych przychodzi a kodu nadal wszędzie pełno bo nowoczesny PHP jest bezpieczny i szybki zarówno w tworzeniu jak i w działaniu. PHP bardzo się ogarnął szczególnie po PHP7 ale już PHP5.6 było bardzo ok. Teraz taki burdel jaki pamiętam jeszcze z PHP 3 i 4 jest w JSie.
Pytanie do znawców. Mam podstawy PHP na Bazach Danych i zastanawiam się czy w ogóle drążyć ten i czy nie lepiej szkolić się w Pythonie. Podstawy tego języka mam na innym przedmiocie.
@Mamut: Mam większą aplikację napisaną w PHPie typu SaaS, komercyjna.
Rada ode mnie, próbuj pisać w różnych językach i zobacz w którym Ci się najlepiej pisze. Pamiętaj że WebDev to nie tylko PHP czy tam Python ale całe otocznie
Problem z PHP jest taki ze serwer dopasowuje do URLa pliku, ktory to jest wykonywany przez proces PHPa. Co prawda pojawiaja sie procesy PHPowe, ktore staraja sie dzialac jak prawdziwy serwer, ale PHP ze swoim niedzialajacym GC cieknie. To nie skladnia jezyka jest zla, ale te pilkowe matchowanie odpowiedzialne jest za wiekszosc wyciekow security.
@dither: ale przykład z Allegro to właśnie to co pisałem w pierwszym komentarzu, od lat dobrą praktyką jest folder public z index i wtedy już takiego czegoś nie dokonasz, no bo poznasz index.php najwyżej.
Powoli wchodzi do gry Swoole czy ReactPHP/RoadRunner i obstawiam że za 2-3 lata wszystkie appki PHPowe będą działać tak samo jak w innych językach tj. jako asynchroniczny serwer a nie FCGI/FPM.
Komentarze (134)
najlepsze
HTTP_USER_AGENTT
.W sumie możesz sobie dzięki temu zintegrować apkę js-ową i mieć frontend driven backend.
No kod PHP masz tylko we frontendzie jako tekst a w trakcie wykonania jest wrzucany ajaxem na serwer. I tam się wykonuje.
Dzięki temu możesz sobie we frontendzie generować na przykład zapytania sql do bazy danych niedostępnej poprzez przeglądarkę. Nie musisz mieć backendu oprócz jednego pliku index.php który wykona ten kod. W zasadzie jakby ten commit przeszedł nie musisz mieć nawet swojego serwera bo twój kod zadziałałby na każdym serwerze
Hakierzy uzyskali dostęp do repozytorium PHP.
Dzięki temu mogli wysłać tam "poprawkę" - a w rzeczywistości był to kod tworzący tylną furtkę.
Działanie furtki polegało na tym, że w nagłówku żądania do serwera można było wstawić ciąg znaków. Tak normalnie ten ciąg znaków jest zwykłym tekstem (np.: "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT
Współczuć rodziców ( ͡° ͜ʖ ͡°)
@Stivo75: raczej siedzisz w temacie i sobie zrobiłeś teorię, żeby się wpasowała w to co robisz ( ͡° ͜ʖ ͡°)
@ProgramistaHTML: no właśnie na tym może polegać atak, że "zmieniasz zmianę" po mocnym CR i 50 akceptach sprzed np. 4 lat. Dzisiaj, 3000 commitów od tamtego czasu trudno będzie Ci dociec czy Microsoft Ciebie właśnie atakuje bo posiadasz kluczowe dla amerykańskiej obrony, albo dla amerykańskich interesów informacje ( ͡° ͜ʖ ͡°) A jak kod jest z zamkniętymi źródłami, to już
a więc musiałbyś dodać payload który zmienia kawałek drzewa (a więc dodajesz to do jakiegoś katalogu w repozytorium, tak żeby hash tego katalogu się nie zmienił) i tak długo jak długo nikt nie dotknie żadnego pliku w tym katalogu, tak długo hash tego drzewa nie powinien ulec zmianie i wszystkie
@Mamut:
Mam większą aplikację napisaną w PHPie typu SaaS, komercyjna.
Rada ode mnie, próbuj pisać w różnych językach i zobacz w którym Ci się najlepiej pisze. Pamiętaj że WebDev to nie tylko PHP czy tam Python ale całe otocznie
@dither: To "problem" jest z PHP czy z serwerem? Przecież to są oddzielne warstwy.
Powoli wchodzi do gry Swoole czy ReactPHP/RoadRunner i obstawiam że za 2-3 lata wszystkie appki PHPowe będą działać tak samo jak w innych językach tj. jako asynchroniczny serwer a nie FCGI/FPM.
Drugie - zgadzam się że to