Jump to content

Search the Community

Showing results for tags 'Security'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Russian section
    • Новости и объявления
    • Пиратия: Документация
    • Пиратия: Релизы
    • Пиратия: Разработка
    • Пиратия: Web
    • Пиратия: Помощь
    • Совместные проекты / набор команды
    • Доска объявлений
    • Программирование
    • Оффтопик
    • Корзина
  • English Section
    • News & Announcements
    • Guides
    • Releases
    • Development
    • Web
    • Questions & Help
    • Shared Projects / Team search
    • Paid services & Requests
    • Programming
    • Offtopic
    • Recycle bin
  • Servers
    • Russian servers
    • English servers

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 5 results

  1. Hello Serverdev!, It's been many years since the first beta of tales of pirate. That the game still maintains a development community and active players, suggests that the logic of the game was a success by Moliyo, unfortunately, what didn't get the same degree of achievement was the game security... You, as private server developers, have developed vast knowledge about game internals more than anyone else, and you're all aware of the problems present in the code, including wrong data types, bad exception handling, overflows, lack of sanitization, etc. In this case I want to refer to the error called by the community "Skill Bug". In principle, I don't consider it a bug, I consider it a security error. When I discovered it (circa Nov07~Jan08), I was fuzzing the client at the packet level. A friend of mine told me about the game, he wanted me to help him look for a bug/exploit to take advantage, after a short time I realized that the game lacked security validations in many of its transactions, many of the transactions could be replayed, and a few were blindly entrusted to whatever the client sent. At first it was only a proof of concept, I could only get random skills, I didn't know the structure of the skillinfo.bin. However after gaining knowledge about the game, it was possible for me to learn arbritariously any skill I wanted, at the time, as I had little knowledge about the dynamics of the game, I didn't make much of it, I just abused it so I wouldn't have to spend money on skill books (Lol). For a long time I wasn't aware of the game, when returning to the game, I found that private servers were being developed, private servers being "Fun", were the perfect sandbox to test the potential of the fault found. So I abused several private servers, the first being FoxlV (circa ~09, I don't remember well), on all servers apparently without raising suspicions (i guess because wasn't until later that it was corrected). I was not an active Top/Pko player, however every time i went back to check if the error had not been discovered/fixed, being that until later it apparently remained in the shadows. Then I'd come back often, this was the time for Avocado (circa ~11-12), I remember spending months abusing the fault, until one day, that one account from a mate with boss skills, was spotted by Zankza soloing Black Dragon in lair (yes we soloed various boss in top igg/ pko this way). Remember, at that time, Avacado GS was reverse proxyed filtering malformed packets y/o injections, which caused the packet encryption to be turned off. Zankza quickly inferred that it was a kind of packet forging, this I suppose he deduced when he also saw how it was denied of his character by trade forcing. After that, Zankza rolled packet encryption on and believed that it would protect for a while. Actually this started as a packet manipulation, but it had already advanced to a memory manipulation. So the fault still active, and even some rougue chars were never discovered till the end of Avocado Server. Later I learned of reports of abuses of this fault on Top IGG (circa ~13), a person who wasn't me get to abuse it in public display (Chaos Argent / Abbnd). Then then, come back to try and I realized that in the top100 servers at the time (circa ~15-16, i dont remember well), incl Sky Pirates & Eternal Pirates, the fault remained unfixed. During the abuse, and after a few weeks, the Sky Pirates GM (was named luffy?, well, i dont remember...), spoted a guildmate abusing and quickly make a fix, a soft fix, one that froze the char who got the RB skill whithout Sexp/RB, certain skills still unnoticed... I don't remember how long it take, but about two months later, Eternal Pirates rolled a more robust solution, that looked like it came from @V3ct0r hands. Nevertheless, as it was based on white lists (an early solution?) other useful but unknown skills went unnoticed. And this brings me to today, in the little free time I have, I have downloaded some clients, and have tried some top100 servers, my surprise even the error is still valid, beyond a decade. Now I wonder, how could it have gone unnoticed to this day?, discretion has had a value, of course, but this has perpetuated the fault. I guess some would find out the same way I did, others would find out when they saw the abuse. However I would like to know, of the ppl from privatia, serverdev, who are in this forum: How did you find out about the fault? When you learned about it? Who was the first person you heard about this? I would love to hear this from Matt, Klabmouse, V3ct0r, Zankza, etc. Thanks
  2. Protect your GM Commands Thanks to @c0d3x for translate from Russian Hello! Let's pretend as if your server has been hacked and the hacker received access to the GM account afterwards. In this thread I'll try to explain how you can secure GM commands and make the hack nearly pointless. Attention! You must pay the most attention to &lua and &lua_all commands(!). If you have got them enabled on your server and somehow hacker manages to get into a GM account, he could get control over every thing, including your root folder; rdp access and so on and so forth. You can read more about those commands HERE. Be as safe as you can, and after reading this thread try Not to use the same commands as I'm gonna use as an example! 1st way. No GM commands - no problems! If you either use commands rarely or don't use them at all, then complete removal makes sense. You could edit characters or give them items using third party software or manually via database. To disable GM commands you should do some edits in GameServer.exe Version | Size (KB) | Address --------+--------------+------------ 1.36 | 2 040 | 0x000DE1E8 1.38 | 2 088 | 0x000E6852 2.0 | 3 000 | 0x00161349 Open GameServer.exe in any HEX editor and goto the address from the table above. I will be working with 1.38 GameServer.exe using HxD editor. Replace 23 bytes starting from this address to 0x90. Save your edits and make sure GM commands don't work in game. 2nd way. Rename gm commands. The hacker will not be able to use GM commands if he doesn't know their names. So, you have to change every command's name. Takes time but it's worth it To change GM command name, open GameServer.exe in any HEX editor. Find GM command and then change its name. New command's name length must be the same as the older one had (keep the same size!). For instance, let's rename &make to &give. Please note that 'make' and 'give' have the same length (they both have 4 symbols). Open GameServer.exe in HEX editor and find a string "make": You will find more strings that contain "make" in it ("MakeItem", "make failed!", "GMmakeLog" and such - we do not need them!). Simply ignore them and continue searching. When you find the needed one you'll see another GM commands' names there, too: Change it to "give": Save current edits. Do the same procedure for another GM commands. UPDATE! You can use this program: GM command address list GameServer.exe version 1.36 (2 040 KB): GameServer.exe version 1.38 (2 088 KB): GameServer.exe version 2.4 (3 000 KB) 3rd way. GameServer.exe with HandleChat(), GetGmLv() and SetGmLv() functions. To use this way you have to use modified GameServer.exe which has the functions above in it. Function HandleChat(userdata role, string message) works out when a character writes messages into local chat. Since all GM commands are being written into local chat, too, you can create a script that will control their execution. Like, you can make so that GM commands work only if the character, who executes them, has a specified ID or name. In addition to this, you can make so that the character has to be in a specified guild, where only administrators and/or GMs could enter. It all depends on your fantasy! To find out if character is a GM, use function GetGmLv(userdata role). Using function SetGmLv(userdata role, number level) you can edit account's gm level to which the character is attached to. Also, using the same function you can set GM level to 0 (ordinary player) in HandleChat() function in case the character hasn't passed the verification. Let's make a simple system to control GM commands: 1) GM commands can be used only if your name is: "V3ct0r", "pkodev" or "Administrator". 2) If the character is GM and he/she hasn't passed the verification, set GM level to 0, kick the character and send the message for Administrator to the GameServer.exe console. Firstly, let's create an array inside variable.lua with characters' names that could use GM commands, we'll call it PlayerCanUseCmd: PlayerCanUseCmd = {} PlayerCanUseCmd["V3ct0r"] = 1 PlayerCanUseCmd["pkodev"] = 1 PlayerCanUseCmd["Administrator"] = 1 Then let's make a script inside HandleChat() in functions.lua: -- Local chat handler function HandleChat(role, message) -- Check whether the character is a gm or not if (GetGmLv(role) > 0) then -- Check if the character has executed the command if (string.find(message, "&") == 1) then -- Check character's name local cha_name = GetChaDefaultName(role) if (PlayerCanUseCmd[cha_name] ~= nil) then -- The character can use the command return 1 end -- The character isn't allowed to use the command -- Set GM level to 0 SetGmLv(role, 0) -- Kick it from the server KickCha(role) -- Send a message to the console print("Player [" .. cha_name .."] tried to use GM command!") -- Don't let the character execute the command return 0 end end return 1 end To kick a character we have to add a KickCha() function, add it anywhere into functions.lua: function KickCha(character) local pkt = GetPacket() WriteCmd(pkt, 1505) SendPacket(character,pkt) end Thread is open for the further discussion. You're welcome to ask questions or give ideas in the comments. Thank you and best of luck!
  3. Looking for someone to help me learn sql injection. Not to do harm but for educational purposes. I am currently studying Security+ and soon after ill go for my CEH. I want to become a penetration tester ( pen tester ), but in order for me to become one I need to know how the attacks work in order to know how to stop them. I have been trying to teach myself, but been failing and I cant figure out what I am doing wrong. As I said. I just want to learn for ethical reasons. This is not aimed at tales of pirates nor any other game/website. I just know theres a lot of people here that knows how to inject and what programs I need and and and. But If you are willing to help me and have knowledge of other attacks, Please contact me at : [email protected] or contact me on skype.
  4. Hello everyone, I'll teach you to change the default password that is contained in the Safety table of the Tradedb database. Why should you change this password? 1) Because with TradeTools.exe, with its dedicated IP, with the right port and the default password (moliyo#[email protected]&man), it is possible to add, edit and delete items and packages, albeit Categories, see these images: To maintain your security I recommend you change it, see the steps: 1) Generate a unicode password with 27 characters, I will use this site to generate a random password: http://maord.com/ 2) Open GameServer.exe with Notepad++ and look for the default password (moliyo#[email protected]&man) and replace with new one and save it. Always back up your GameServer.exe before making any modifications. 3) Open InfoPasswd.exe and paste the new password into the text field and then click on the button until you create an encrypted password. Download InfoPasswd.exe here 4) Copy this encrypted password and paste it into the Passwd column inside the Safety table. 5) Open GameServer.exe and IGS and see if everything is ok. 6) Done, the default password has been modified successfully, now it is seized.
  5. Hello guys! Firstly I'd like to thank everything whose helped me on my previous questions, it was really useful for me, I appreciate it so much! Alright, I'm about to launch my server's closed beta soon, but I'm not sure of a few things, and I need the help of experts like most of you guys. Also, I'll make sure to mention this awesome forum in my server's credits NPC My questions are: 1 - Should I make one SQL Account for every database? 2 - Should I change GM TOP1 Commands to encrypted/different commands? (Example: &make to &a923jde89DQ2) 3 - How should I organize my GameServer maps; 1 for each main city, 1 or 2 for secondary maps like PK Area 1, and 1 for mazes? 4 - Are there any must-do prevention I should add to website or server files? 5 - Is 50GB of storage, 12gb of ram and dual-core CPU enough for the host? 6 - Should I make a batch auto backuper or use a specific program for daily/hourly backups? 7 - Is it secure to use Chat Handler to handle GM Commands? 8 - Is Saeed's Anti Dupe System v1.4 good enough? Others: 9 - My website Mall and Award Center are not working (nor IMPS/Credits counter), any tips? 10 - Can't go further lv120 with Leveling Cards nor EXP Pamps, just GM Commands. (DEEXP table is good to go until level 150 and changed EXP Pamp/Leveling Card item_use). Any tips? 11 - Some effects are bugged, for example: Rebirth Angels auras are showing vertically. Also some other effects are being shown on incorrect potions. Any tips? 12 - Are there any ways to check character's bank items on maze requirements? For example: We can add to can_enter that the character can't enter with specific items, but it just checks the inventory/equipped items, is there any way to also check the bank? 13 - Any recommendations or tutorials on Forum's system? (Looking for good ones, I pretend to make my forum active, with lots of guides, fast answers and events). 14 - Are there any recommended/good server balance file? I want to make the best balance possible, that's my intention on opening Closed Beta, to try out classes balances. This are my "some" questions! I hope you guys don't get bored reading it, and if you read until here, thanks alot! I hope you guys can help me somehow, I really need answer for this questions^^ All Regards, Faller.
×
×
  • Create New...