X-MAS Helper
As organizers of X-MAS CTF, we are using bots to ensure that the competition keeps running smoothly. We have made this Discord bot: X-MAS Helper#2918 to help us check the flags for various challenges by using the !flag command. This command is safe to use because the bot actively checks if the requesting user has the Organizer role assigned, so regular participants can't access the flags.
We're so sure that the code is secure, that we're willing to share the part that checks the role:
Code:
if (message.content == "!flag"):
ok = False
for role in message.author.roles:
if (role.name == "Organizer"):
ok = True
if (ok):
printer = "The flag is: **{}**".format (FLAG)
else:
printer = "Unauthorized."
Author: Milkdrop
Note: The music bot (FredBoat) and MicroBot are not part of this challenge. Do not try to exploit them.
디스코드 봇을 활용한 문제다.
!flag 라고 메세지를 보내면 역할 이름을 확인해서 flag를 보내준다.
내 역할 이름이 Organizer 이어야 하는데 해당 봇이 있는 X-MAS CTF 디스코드 채널에서 내 역할은 아무것도 없다.
그래서 해당 채널에서 아무리 !flag를 보내봐야 플래그를 주지 않는다.
flag를 얻는 방법은 간단하다. 내 역할 이름이 Organizer가 되면 된다!
디스코드 봇은 client id만 알면 내 서버로 초대를 할 수가 있다.
직접 서버를 파서 봇을 초대한 뒤에 역할도 만들어서 !flag를 보내면 봇이 flag를 보내준다.
디스코드 봇 초대링크:
https://discordapp.com/oauth2/authorize?clinet_id=****&scope=bot
client id는 쉽게 구할 수 있다.
디스코드 앱에서 > 톱니바퀴 > 디스플레이 > 고급 > 개발자 모드 활성화
해당 봇 우클릭 > ID 복사하기
위 링크에서 ****대신에 id 입력!
EZ
'CTF Write Up' 카테고리의 다른 글
Christmas CTF 2019 Write-up 문제 풀이 (2) | 2019.12.30 |
---|---|
UTC-CTF 2019 Teaser write-up (0) | 2019.12.22 |
THE HACKING CHAMPIONSHIP JUNIOR 2019 FINAL Write-up (0) | 2019.12.10 |
Timisoara CTF 2019 Quals Write-up (0) | 2019.09.19 |
20회 Hackingcamp CTF MISC [GuessWhat] 풀이 (0) | 2019.08.26 |