- Katılım
- 22 Ocak 2014
- Konular
- 160
- Mesajlar
- 869
- Çözüm
- 2
- Online süresi
- 1mo 2d
- Reaksiyon Skoru
- 26
- Altın Konu
- 0
- TM Yaşı
- 12 Yıl 4 Ay 18 Gün
- Başarım Puanı
- 151
- MmoLira
- 3,479
- DevLira
- 0
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
cmd_genaralkden kaldırdım bakalım lazım olursa sökecek yer var sökerimbak bu kod char.h 'ta yok normalde olması gerekiyor :
GetExtendInvenMax
- Katılım
- 29 Eyl 2009
- Konular
- 1,298
- Mesajlar
- 18,700
- Çözüm
- 203
- Online süresi
- 7mo 18h
- Reaksiyon Skoru
- 9,275
- Altın Konu
- 377
- Başarım Puanı
- 426
- Yaş
- 32
- MmoLira
- 51,348
- DevLira
- 74
ACMD(do_PetChangeName)
bunda SQL Injection var.
/pet_change_name arg1(strtonumber) arg2(directuse)
şeklinde.
Özel mesaj atıp nasıl sql injection yapılıyor diye saçma sorular sormayın başkasına zarar vermeniz için yardımcı olmam.
Ayrıca karakter kontrolü yok boşluk ve özel işaretler ile vs isim koyulabilir. python dan kontrol koyulduysa /pet_change_name 0 selam_ben_tunga diye nick koyarsınız. Tek engel veritabanındaki string limiti.
change_pet'in kodları üzücü
yorum yok.
İnsanları korkutmak için yazmadım. change_name bölümünü başka filesten baksanız iyi olur. diyeceklerim bu kadar.
Paylaşım için teşekkürler.
bunda SQL Injection var.
/pet_change_name arg1(strtonumber) arg2(directuse)
şeklinde.
Özel mesaj atıp nasıl sql injection yapılıyor diye saçma sorular sormayın başkasına zarar vermeniz için yardımcı olmam.
Ayrıca karakter kontrolü yok boşluk ve özel işaretler ile vs isim koyulabilir. python dan kontrol koyulduysa /pet_change_name 0 selam_ben_tunga diye nick koyarsınız. Tek engel veritabanındaki string limiti.
change_pet'in kodları üzücü
yorum yok.İnsanları korkutmak için yazmadım. change_name bölümünü başka filesten baksanız iyi olur. diyeceklerim bu kadar.
Paylaşım için teşekkürler.
- Katılım
- 20 Kas 2016
- Konular
- 65
- Mesajlar
- 1,263
- Çözüm
- 12
- Online süresi
- 1mo 3d
- Reaksiyon Skoru
- 619
- Altın Konu
- 0
- TM Yaşı
- 9 Yıl 6 Ay 20 Gün
- Başarım Puanı
- 201
- MmoLira
- 2,443
- DevLira
- 82
Kod:
ACMD(do_PetChangeName)
{
char arg1[256], arg2[256];
two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));
if (!*arg1 || !*arg2)
return;
int bCell = 0;
str_to_number(bCell, arg1);
LPITEM item = ch->GetInventoryItem(bCell);
if (!item)
return;
if (ch->CountSpecifyItem(55030) < 1)
return;
if (!strcmp(arg2, "%") || !strcmp(arg2, "/") || !strcmp(arg2, ">") || !strcmp(arg2, "|") || !strcmp(arg2, ";") || !strcmp(arg2, ":") || !strcmp(arg2, "}") || !strcmp(arg2, "{") || !strcmp(arg2, "[") || !strcmp(arg2, "]") || !strcmp(arg2, "%") || !strcmp(arg2, "#") || !strcmp(arg2, "@") || !strcmp(arg2, "^") || !strcmp(arg2, "&") || !strcmp(arg2, "'") )
{
ch->ChatPacket(CHAT_TYPE_INFO,"[Pet-Kulucka] Hatali isim girdiniz");
return;
}
if (ch->GetNewPetSystem()->IsActivePet())
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ONCE_PETINI_GONDER"));
return;
}
char szName[CHARACTER_NAME_MAX_LEN + 1];
DBManager::instance().EscapeString(szName, sizeof(szName), arg2, strlen(arg2));
std::unique_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("UPDATE new_petsystem SET name = '%s' WHERE id = '%lu'", szName, item->GetID()));
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("PET_ISMI_DEGISTIRILDI"));
ch->RemoveSpecifyItem(55030, 1);
}
- Katılım
- 29 Eyl 2009
- Konular
- 1,298
- Mesajlar
- 18,700
- Çözüm
- 203
- Online süresi
- 7mo 18h
- Reaksiyon Skoru
- 9,275
- Altın Konu
- 377
- Başarım Puanı
- 426
- Yaş
- 32
- MmoLira
- 51,348
- DevLira
- 74
"Karakter kontrolü yok boşluk ve özel işaretler ile vs isim koyulabilir."Kod:ACMD(do_PetChangeName) { char arg1[256], arg2[256]; two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2)); if (!*arg1 || !*arg2) return; int bCell = 0; str_to_number(bCell, arg1); LPITEM item = ch->GetInventoryItem(bCell); if (!item) return; if (ch->CountSpecifyItem(55030) < 1) return; if (!strcmp(arg2, "%") || !strcmp(arg2, "/") || !strcmp(arg2, ">") || !strcmp(arg2, "|") || !strcmp(arg2, ";") || !strcmp(arg2, ":") || !strcmp(arg2, "}") || !strcmp(arg2, "{") || !strcmp(arg2, "[") || !strcmp(arg2, "]") || !strcmp(arg2, "%") || !strcmp(arg2, "#") || !strcmp(arg2, "@") || !strcmp(arg2, "^") || !strcmp(arg2, "&") || !strcmp(arg2, "'") ) { ch->ChatPacket(CHAT_TYPE_INFO,"[Pet-Kulucka] Hatali isim girdiniz"); return; } if (ch->GetNewPetSystem()->IsActivePet()) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ONCE_PETINI_GONDER")); return; } char szName[CHARACTER_NAME_MAX_LEN + 1]; DBManager::instance().EscapeString(szName, sizeof(szName), arg2, strlen(arg2)); std::unique_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("UPDATE new_petsystem SET name = '%s' WHERE id = '%lu'", szName, item->GetID())); ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("PET_ISMI_DEGISTIRILDI")); ch->RemoveSpecifyItem(55030, 1); }
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
stringler basit şekliyle sıralı karakter kümesidir. strcmp ile bu küme içerisindeki tüm karakterleri belirlenen string ile sıra sıra compare edemezsiniz. kümenin tamamını compare edersiniz. demek istediğim adı sadece "%" veya "/" olan bir karakter açılamaz ancak "%/" olan bir karakter açılabilir.
Son düzenleme:
- Durum
- Üzgünüz bu konu cevaplar için kapatılmıştır...
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 37
- Görüntüleme
- 8K
- Cevaplar
- 77
- Görüntüleme
- 19K
- Cevaplar
- 62
- Görüntüleme
- 13K
- Kilitli
- Cevaplar
- 733
- Görüntüleme
- 120K
- Cevaplar
- 2K
- Görüntüleme
- 249K








