[pwnable.xyz] attack
Wargame/pwnable.xyz
Can you win the Arena?AttachmentBugdo_skill_change()에서 isAttack에 음수가 들어갈 수 있어 OOB가 발생한다.ExploitationSkillTabel의 앞쪽에는 Team 구조체 2개로 구성된 Teams가 있다.Teams 내부에는 Equip의 Name 필드가 있는데, 이 필드에는 change_equip()에서 임의의 0x20바이트 값을 입력할 수 있다.이 위치에 win()의 주소를 써 놓고 do_skill_change()에서 player->Skills[destSkill].Skill_Func에 OOB를 이용하여 win()의 주소를 넣으면 그 스킬을 사용할 때 win()이 호출되어 플래그를 획득할 수 있다.ex.py