Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(Core/Instance): Fix instance resetting exploit #2172

Merged
merged 2 commits into from
Aug 6, 2019
Merged

fix(Core/Instance): Fix instance resetting exploit #2172

merged 2 commits into from
Aug 6, 2019

Conversation

ELdoBA
Copy link
Contributor

@ELdoBA ELdoBA commented Aug 3, 2019

  • Fix issue with instance reset exploit

Co-Authored-By: Lee talamortis@users.noreply.github.com

CHANGES PROPOSED:
  • Instead of doing this how tc did it (complicated) it's done in simple way.
ISSUES ADDRESSED:

Closes #2073

TESTS PERFORMED:

Yes, everything is fine.

HOW TO TEST THE CHANGES:
KNOWN ISSUES AND TODO LIST:
  • [ ]
  • [ ]
Target branch(es):

Master

How to test AzerothCore PRs

When a PR is ready to be tested, it will be marked as [WAITING TO BE TESTED].

You can help by testing PRs and writing your feedback here in the PR's page on GitHub. Follow the instructions here:

http://www.azerothcore.org/wiki/How-to-test-a-PR

- Fix issue with instance reset exploit

Co-Authored-By: Lee <talamortis@users.noreply.github.com>
@talamortis
Copy link
Contributor

Yeah TC did it a complicated way, Why not just make the player on logout teleport to the start of the instance and then upon successful logout it will then save the location. instead of teleporting the player to a graveyard.

@talamortis talamortis self-requested a review August 3, 2019 16:48
@ryancheung
Copy link

This fix is too navie. The proper way is to check instance binding status: if current instance binding is not equal to the one saved in dB, then teleport.
This navie would anoy players have bad connections.

Added a check to see if any players are in the current instance before teleporting the player to the entrance.
Copy link
Contributor Author

@ELdoBA ELdoBA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will be fine now with check

@ELdoBA
Copy link
Contributor Author

ELdoBA commented Aug 4, 2019

I can't restore this problem if I test it.

How you mean ?

I know you don't understand english, let's try like this : 🤔
你能更好地解釋一下嗎?
你可以重現問題嗎?

@FrancescoBorzi
Copy link
Contributor

@pklloveyou do you mean that you cannot reproduce the issue?

@ELdoBA
Copy link
Contributor Author

ELdoBA commented Aug 4, 2019

Google Translate still can't translate Chinese very well...T_Tcry

Use this https://www.deepl.com/translator

@FrancescoBorzi
Copy link
Contributor

@pklloveyou you must select Chinese as your language, not German

@ELdoBA
Copy link
Contributor Author

ELdoBA commented Aug 4, 2019

@pklloveyou you must select Chinese as your language, not German

It can't detect Chinesse, forwarding to German
Edit :

Use this : https://translate.yandex.com/?lang=zh-en&text=%E4%BD%A0%E8%83%BD%E6%9B%B4%E5%A5%BD%E5%9C%B0%E8%A7%A3%E9%87%8B%E4%B8%80%E4%B8%8B%E5%97%8E%EF%BC%9F

@PkllonG
Copy link
Contributor

PkllonG commented Aug 4, 2019

Thank you. I'll give it a try.
I would like to say that this issue was experimented on my server and did not encounter this kind of problem.
Can you read the above text?

@ELdoBA
Copy link
Contributor Author

ELdoBA commented Aug 4, 2019

Thank you. I'll give it a try.
I would like to say that this issue was experimented on my server and did not encounter this kind of problem.
Can you read the above text?

How did you test it ? With and without this PR ?

@PkllonG
Copy link
Contributor

PkllonG commented Aug 4, 2019

No use of this RP, the test found no problem, the team state No. 2 game player in the example offline, No. 1 game player in the instance reset instance, No. 2 game player on the line will be sent to the instance entrance.

@PkllonG
Copy link
Contributor

PkllonG commented Aug 4, 2019

The use of RP, and before use, and found no 2 game player in situ after the line。

@PkllonG
Copy link
Contributor

PkllonG commented Aug 4, 2019

I'll try again tomorrow. I'm going to bed. it's 2 in the morning.Thank you very much.

@PkllonG
Copy link
Contributor

PkllonG commented Aug 4, 2019

1
2
3
4
5
6
7
8

@ELdoBA
Copy link
Contributor Author

ELdoBA commented Aug 4, 2019

It's fine. Thanks @pklloveyou

@andoys
Copy link

andoys commented Aug 4, 2019

Thank you for the great fix @poszer

@talamortis
Copy link
Contributor

@poszer XD i fixed!
lmao

@ELdoBA
Copy link
Contributor Author

ELdoBA commented Aug 4, 2019

@poszer XD i fixed!
lmao

Yep, he forgot to mention you xD

@talamortis
Copy link
Contributor

i feel lonely now :(

@andoys
Copy link

andoys commented Aug 5, 2019

hahaha both @talamortis and @poszer great work XD

@ELdoBA ELdoBA merged commit ef377b9 into azerothcore:master Aug 6, 2019
@ELdoBA ELdoBA deleted the fixInstanceResetExploits branch August 6, 2019 14:11
@ryancheung
Copy link

This fix is just so not blizzlike

@boom8866
Copy link

There is another problem that can be reset.

1.A player enters instance"Of course, he needs to be in the team."
2.Kill the creature after entering the ordinary instance, and then leave the team.
3.A role outside instance that invites roles within instance to join the queue
4.Roles beyond instance transform teams into team models
5.The characters in instance return to the interface and then log in to the game.
6.Did you find that creatures would refresh?

@FrancescoBorzi
Copy link
Contributor

FrancescoBorzi commented Aug 10, 2019

@boom8866 please report a separate issue for that, since this PR is already on master

@talamortis
Copy link
Contributor

@ryancheung in what way is it not blizzlike?

@boom8866
Copy link

This problem occurs when you leave the team, join the team, switch teams, and log back into the role

@ryancheung
Copy link

Given I do solo a instance, then I got disconnected for bad network connection, then I got teleported to entry. This isn't blizzlike.

@talamortis
Copy link
Contributor

Then another check needs to be added, but I no longer work on this source. I would advise opening another issue for this :)

@ELdoBA
Copy link
Contributor Author

ELdoBA commented Aug 11, 2019

There is another problem that can be reset.

1.A player enters instance"Of course, he needs to be in the team."
2.Kill the creature after entering the ordinary instance, and then leave the team.
3.A role outside instance that invites roles within instance to join the queue
4.Roles beyond instance transform teams into team models
5.The characters in instance return to the interface and then log in to the game.
6.Did you find that creatures would refresh?

Feel free to improve it. Since i no longer contribute here.

@ryancheung
Copy link

Believe me, the best way to handle the exploit is to check instance binding status, through its a bit complex.

zqaazq added a commit to zqaazq/azerothcore-wotlk that referenced this pull request Aug 12, 2019
* fix(Core/DB/Quest): Let Them Eat Crow (azerothcore#1680)

* Import pending SQL update file...

Referenced commit(s): 091e7c1

* fix (Core/Dungeon/Boss Script): Remove Goblin Rocket Pack from inventory. (azerothcore#2095)

* fix(Core/Raid/Boss Script): Naxxramas boss loatheb kill event (azerothcore#2098)

* fix(DB/SAI): Revamp Crystalweb Cavern (azerothcore#2105)

* Import pending SQL update file...

Referenced commit(s): 51e54da

* chore: improved pull_request_template.md (azerothcore#2166)

* chore(README.md): add Discord badge (azerothcore#2162)

* fix(DB/Core): Throwing spells for Instructor Razuvious and Drakkari Battle Riders (azerothcore#2109)

* Import pending SQL update file...

Referenced commit(s): 5e34574

* feat(core/AI): implement DoCastSelf helper (azerothcore#2179)

* Updated client data downloader url with vmaps 4.3

* feat(Core/CFBG): Added support module mod-cfbg (azerothcore#2064)

https://github.com/Winfidonarleyan/mod-cfbg - Original module
https://github.com/azerothcore/mod-cfbg - the fork in AC

* fix(Core/Instance): Fix instance resetting exploit (azerothcore#2172)

* fix(Core/Instance): Fix instance resetting exploit

- Fix issue with instance reset exploit

Co-Authored-By: Lee <talamortis@users.noreply.github.com>

* Added another check

Added a check to see if any players are in the current instance before teleporting the player to the entrance.

* fix(DB/SAI): Mirage Raceway - goblin / gnome racing (azerothcore#2119)

* Import pending SQL update file...

Referenced commit(s): 825fde8

* fix(Scripts/Karazhan): Cleanup in opera event (azerothcore#2163)

* fix(Core/Commands): Support morph uint32 ids (azerothcore#1753)

* fix(DB/creature): Random movement for "Icemaw Bear" and "Ravenous Jormungar" (azerothcore#2149)

* Import pending SQL update file...

Referenced commit(s): 0232f0b

* fix(Core/SpellInfo): Magmadar's Enrage dispel fix (azerothcore#2146)

Putting the Magmadar's Enrage spell as a Buff to make it dispellable.

* fix(DB/creature): Thorim position (Temple of Storms) (azerothcore#2160)

* Import pending SQL update file...

Referenced commit(s): ff1e6c0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Core/Instance : Fix instance resetting exploit [$35 awarded]
7 participants