mirror of
https://git.krews.org/morningstar/Arcturus-Community.git
synced 2024-11-30 09:50:51 +01:00
2.3.2. Fixed exploits.
This commit is contained in:
parent
872d4d06e9
commit
59fad6fa63
@ -32,7 +32,7 @@ public final class Emulator {
|
|||||||
|
|
||||||
public final static int MAJOR = 2;
|
public final static int MAJOR = 2;
|
||||||
public final static int MINOR = 3;
|
public final static int MINOR = 3;
|
||||||
public final static int BUILD = 1;
|
public final static int BUILD = 2;
|
||||||
public static final String ANSI_RED = "\u001B[31m";
|
public static final String ANSI_RED = "\u001B[31m";
|
||||||
public static final String ANSI_BLUE = "\u001B[34m";
|
public static final String ANSI_BLUE = "\u001B[34m";
|
||||||
public static final String ANSI_PURPLE = "\u001B[35m";
|
public static final String ANSI_PURPLE = "\u001B[35m";
|
||||||
|
@ -5,10 +5,7 @@ import com.eu.habbo.habbohotel.catalog.CatalogItem;
|
|||||||
import com.eu.habbo.habbohotel.catalog.CatalogManager;
|
import com.eu.habbo.habbohotel.catalog.CatalogManager;
|
||||||
import com.eu.habbo.habbohotel.catalog.CatalogPage;
|
import com.eu.habbo.habbohotel.catalog.CatalogPage;
|
||||||
import com.eu.habbo.habbohotel.catalog.ClubOffer;
|
import com.eu.habbo.habbohotel.catalog.ClubOffer;
|
||||||
import com.eu.habbo.habbohotel.catalog.layouts.ClubBuyLayout;
|
import com.eu.habbo.habbohotel.catalog.layouts.*;
|
||||||
import com.eu.habbo.habbohotel.catalog.layouts.RecentPurchasesLayout;
|
|
||||||
import com.eu.habbo.habbohotel.catalog.layouts.RoomBundleLayout;
|
|
||||||
import com.eu.habbo.habbohotel.catalog.layouts.VipBuyLayout;
|
|
||||||
import com.eu.habbo.habbohotel.items.FurnitureType;
|
import com.eu.habbo.habbohotel.items.FurnitureType;
|
||||||
import com.eu.habbo.habbohotel.users.HabboBadge;
|
import com.eu.habbo.habbohotel.users.HabboBadge;
|
||||||
import com.eu.habbo.habbohotel.users.HabboInventory;
|
import com.eu.habbo.habbohotel.users.HabboInventory;
|
||||||
@ -24,6 +21,10 @@ import com.eu.habbo.messages.outgoing.users.*;
|
|||||||
import com.eu.habbo.threading.runnables.ShutdownEmulator;
|
import com.eu.habbo.threading.runnables.ShutdownEmulator;
|
||||||
import gnu.trove.map.hash.THashMap;
|
import gnu.trove.map.hash.THashMap;
|
||||||
import gnu.trove.procedure.TObjectProcedure;
|
import gnu.trove.procedure.TObjectProcedure;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import static com.eu.habbo.messages.incoming.catalog.CheckPetNameEvent.PET_NAME_LENGTH_MAXIMUM;
|
||||||
|
import static com.eu.habbo.messages.incoming.catalog.CheckPetNameEvent.PET_NAME_LENGTH_MINIMUM;
|
||||||
|
|
||||||
public class CatalogBuyItemEvent extends MessageHandler {
|
public class CatalogBuyItemEvent extends MessageHandler {
|
||||||
@Override
|
@Override
|
||||||
@ -188,6 +189,11 @@ public class CatalogBuyItemEvent extends MessageHandler {
|
|||||||
item = this.client.getHabbo().getHabboStats().getRecentPurchases().get(itemId);
|
item = this.client.getHabbo().getHabboStats().getRecentPurchases().get(itemId);
|
||||||
else
|
else
|
||||||
item = page.getCatalogItem(itemId);
|
item = page.getCatalogItem(itemId);
|
||||||
|
if (page instanceof PetsLayout) { // checks it's the petlayout
|
||||||
|
String[] check = extraData.split("\n"); // splits the extradata
|
||||||
|
if ((check.length != 3) || (check[0].length() < PET_NAME_LENGTH_MINIMUM) || (check[0].length() > PET_NAME_LENGTH_MAXIMUM) || (!StringUtils.isAlphanumeric(check[0])))// checks if there's 3 parts (always is with pets, if not it fucks them off)
|
||||||
|
return; // if it does it fucks off.
|
||||||
|
}
|
||||||
|
|
||||||
Emulator.getGameEnvironment().getCatalogManager().purchaseItem(page, item, this.client.getHabbo(), count, extraData, false);
|
Emulator.getGameEnvironment().getCatalogManager().purchaseItem(page, item, this.client.getHabbo(), count, extraData, false);
|
||||||
|
|
||||||
|
@ -6,17 +6,16 @@ import com.eu.habbo.messages.outgoing.catalog.PetNameErrorComposer;
|
|||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
public class CheckPetNameEvent extends MessageHandler {
|
public class CheckPetNameEvent extends MessageHandler {
|
||||||
|
public static int PET_NAME_LENGTH_MINIMUM = Emulator.getConfig().getInt("hotel.pets.name.length.min");
|
||||||
|
public static int PET_NAME_LENGTH_MAXIMUM = Emulator.getConfig().getInt("hotel.pets.name.length.max");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handle() throws Exception {
|
public void handle() throws Exception {
|
||||||
String petName = this.packet.readString();
|
String petName = this.packet.readString();
|
||||||
|
if (petName.length() < PET_NAME_LENGTH_MINIMUM) {
|
||||||
int minLength = Emulator.getConfig().getInt("hotel.pets.name.length.min");
|
this.client.sendResponse(new PetNameErrorComposer(PetNameErrorComposer.NAME_TO_SHORT, PET_NAME_LENGTH_MINIMUM + ""));
|
||||||
int maxLength = Emulator.getConfig().getInt("hotel.pets.name.length.max");
|
} else if (petName.length() > PET_NAME_LENGTH_MAXIMUM) {
|
||||||
|
this.client.sendResponse(new PetNameErrorComposer(PetNameErrorComposer.NAME_TO_LONG, PET_NAME_LENGTH_MAXIMUM + ""));
|
||||||
if (petName.length() < minLength) {
|
|
||||||
this.client.sendResponse(new PetNameErrorComposer(PetNameErrorComposer.NAME_TO_SHORT, minLength + ""));
|
|
||||||
} else if (petName.length() > maxLength) {
|
|
||||||
this.client.sendResponse(new PetNameErrorComposer(PetNameErrorComposer.NAME_TO_LONG, maxLength + ""));
|
|
||||||
} else if (!StringUtils.isAlphanumeric(petName)) {
|
} else if (!StringUtils.isAlphanumeric(petName)) {
|
||||||
this.client.sendResponse(new PetNameErrorComposer(PetNameErrorComposer.FORBIDDEN_CHAR, petName));
|
this.client.sendResponse(new PetNameErrorComposer(PetNameErrorComposer.FORBIDDEN_CHAR, petName));
|
||||||
} else {
|
} else {
|
||||||
|
@ -13,6 +13,12 @@ import com.eu.habbo.messages.outgoing.handshake.ConnectionErrorComposer;
|
|||||||
|
|
||||||
|
|
||||||
public class GuildForumPostThreadEvent extends MessageHandler {
|
public class GuildForumPostThreadEvent extends MessageHandler {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getRatelimit() {
|
||||||
|
return 1000;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handle() throws Exception {
|
public void handle() throws Exception {
|
||||||
int guildId = this.packet.readInt();
|
int guildId = this.packet.readInt();
|
||||||
|
Loading…
Reference in New Issue
Block a user