Przeglądarka F12, wykonanie konsoli
lub
Bez żalu, medycyna, działaj ostrożnie,Treść artykułu zawiera plan napraw
1. Po wykonaniu, jeśli wyświetlona zostanie liczba całkowita większa niż 0, oznacza to, że konto zostało pomyślnie usunięte. 2. Konto w UCenter zostaje usunięte, a UCenter powiadomi Discuz! Usuń konto użytkownika. 3. Powiadomienie może być opóźnione lub nieskuteczne. W rezultacie możesz nie wylogować się ze strony od razu. 4. Jeśli powiadomienie w końcu się powiedzie, konto i wszystkie jego posty zostaną pobrane z Discuz! usunięto. 5. Jeśli powiadomienie nie zakończy się sukcesem, nie będziesz mógł się zalogować po wylogowaniu z konta. Możesz zarejestrować nowe konto pod tym samym nazwiskiem, aby nadpisać oryginalne konto. Oryginalne dane konta zostaną usunięte, a ich posty nie będą czytelne (ale nie usunięte).
Przeniesiony zLogowanie do linku jest widoczne.
Test można usunąć, a zarówno nowo zbudowany Discuz X 3.4, jak i forum Discuz X 3.4, które działa online od dawna, zostały pomyślnie usunięte Podczas testu niektóre fora zostały pomyślnie usunięte, a prompt logowania się nie powiódł, ale przy ponownej rejestracji pojawiła się informacja o istnieniu nazwy użytkownika, co wymagało aktywacji, jednak aktywacja zakończyła się niepowodzeniem
Analiza podatności:
Moja zdolność do js jest ograniczona, z intuicji wynika, że ogólny kod oznacza, że uruchomiłem dostęp do programu dz "/home.php?mod=spacecp&ac=avatar", aby zmodyfikować plik avatara,
Umieść "https://www.itsvse.com/uc_server/images/camera.swf?inajax=1&appid=1&input=xxx"Link został zastąpiony przez"https://www.itsvse.com/uc_server/?m=user&a=delete&inajax=1&appid=1&input=xxx"W takim razie przesłuchanie się odbywa.
m=user&a=delete&inajax=1&appid=1&input=xxx parsing parametrów
m: Który plik php załadować, tutaj oznacza to ładowanie pliku control/user.php O: Metoda funkcji to metoda ondelete do wykonania pliku php input: Zaszyfrowany ciąg wygenerowany przez serwer zawiera pewne parametry, xxx to zaszyfrowany ciąg zawierający "uid=current logged-in user UID". Pomijając inne parametry, w tym artykule nie ma to sensu, podsumowując, adres URL automatycznie przeskoczony przez JS wykona metodę user.php ondelete.
Mówiąc wprost, ciąg szyfrujący do wprowadzania do modyfikacji awatara i usuwania API użytkownika jest uniwersalny! Możesz wykonać dowolną według wcześniejszych parametrów!
Rozwiązanie:
Zmodyfikuj plik 1: "/source/plugin/mobile/api/2/uploadavatar.php"
Znajdź linię 82 i wpisz następujący kod:
Zmodyfikowane do:
Zmodyfikuj plik 2: "/source/plugin/wechat/wechat.class.php"
Znajdź linię 549 i wpisz następujący kod:
Zmodyfikowane do:
Dokument poprawkowy nr 3: "/uc_client/client.php"
Znajdź linię 591 i wpisz następujący kod:
Zmodyfikowane do:
Zmodyfikuj plik 4: "/uc_server/control/user.php"
Znalazłem210、310、353Dobrze, wpisz następujący kod:
Zmodyfikowane do:
Zasada naprawy luki polega na zmianie parametru uid w wejściu na uid_avatar, tak aby modyfikacja awatara różniła się od usunięcia zaszyfrowanego ciągu użytkownika!
(Koniec)
|