Webbläsare F12, konsolkörning
eller
Ingen ångermedicin, arbeta med försiktighet,Innehållet i artikeln innehåller en fixplan
1. Efter exekvering, om ett heltal större än 0 visas, betyder det att kontot har raderats framgångsrikt. 2. Kontot i UCenter raderas, och UCenter kommer att meddela Discuz! Radera användarkontot. 3. Anmälan kan vara försenad eller misslyckad. Som ett resultat kanske du inte loggar ut från sidan omedelbart. 4. Om notifikationen slutligen lyckas kommer kontot och alla dess inlägg att laddas ner från Discuz! borttaget. 5. Om notisen misslyckas kommer du inte kunna logga in efter att ha loggat ut från ditt konto. Du kan registrera ett nytt konto med samma namn för att skriva över det ursprungliga kontot. Den ursprungliga kontoinformationen kommer att raderas och deras inlägg kommer inte att vara läsbara (men inte raderade).
Överförd frånInloggningen med hyperlänken är synlig.
Testet kan tas bort, och både den nybyggda Discuz X 3.4 och Discuz X 3.4-forumet som har varit online länge har framgångsrikt raderats Under testet raderades vissa forum framgångsrikt, och inloggningsprompten misslyckades, men vid återregistrering uppmanades användarnamnet att existera, vilket ledde till aktivering, men aktiveringen misslyckades
Sårbarhetsanalys:
Min js-förmåga är begränsad, enligt min intuition betyder den allmänna koden att jag har kommit åt dz-programmet "/home.php?mod=spacecp&ac=avatar" för att ändra avatarfilen,
Sätt "https://www.itsvse.com/uc_server/images/camera.swf?inajax=1&appid=1&input=xxx"Länken har ersatts med"https://www.itsvse.com/uc_server/?m=user&a=delete&inajax=1&appid=1&input=xxx"Sedan genomförs intervjun.
m=user&a=delete&inajax=1&appID=1&input=xxx parameterparsing
m: Vilken php-fil ska laddas in, här betyder det att ladda control/user.php-filen S: Funktionsmetoden är ondelete-metoden för att köra php-filen Indata: Den krypterade strängen som genereras av servern innehåller vissa parametrar, xxx är den krypterade strängen som innehåller "uid=current logged-in user UID". Bortsett från andra parametrar är det inte logiskt i den här artikeln, sammanfattningsvis kommer URL:en som automatiskt hoppas av JS att köra user.php ondelete-metoden.
För att uttrycka det rakt på sak är indatakrypteringssträngen för att modifiera avataren och ta bort användarens API universell! Du kan utföra vilken som helst efter behag enligt de tidigare parametrarna!
Lösning:
Ändra fil 1: "/source/plugin/mobile/api/2/uploadavatar.php"
Hitta rad 82 och ange följande kod:
Modifierad till:
Ändra fil 2: "/source/plugin/wechat/wechat.class.php"
Hitta rad 549 och ange följande kod:
Modifierad till:
Ändringsdokument 3: "/uc_client/client.php"
Hitta rad 591 och ange följande kod:
Modifierad till:
Ändra fil 4: "/uc_server/control/user.php"
Hittade den210、310、353Okej, skriv följande kod:
Modifierad till:
Principen för att åtgärda sårbarheten är att ändra parametern uid i inmatningen till uid_avatar, så att modifiering av avataren skiljer sig från att radera användarens krypterade sträng!
(Slut)
|