}

WIKIBOT

P'Hack 2021 - misc (256 pts).
Written by ChapeauR0uge.

WikiBot

Description

WikiBot - P’Hack'21

Solve

Nous avons un lien vers le discord du CTF.

Après avoir envoyer un DM au bot, celui-ci, nous demande de répondre à une série de questions en moins de 3 secondes.

Pour résoudre ce challenge, je vais utilisé mon compte Discord pour communiquer avec ce bot à travers l’API discord.

J’ai donc besoin de DiscordPy pour mon programme en python.

J’ai besoin de deux informations, pour pouvoir communiquer avec le bot.

BOT_TOKEN = "<TOKEN>" # Le token ID  de mon profil discord
TARGET_ID = <AUTHOR_ID> # Le message.author.id cible du bot du challenge

Au final, j’ai écrit le code suivant bot_discord.py :

class MyClient(discord.Client):
    async def on_ready(self):
        print('Logged on as {0}!'.format(self.user))

    async def on_message(self, message):
        if(message.author.id == TARGET_ID):
            if("Wanna play with me ?" in message.content):
                await message.channel.send("yes")
            elif("Is that okay ?" in message.content):
                await message.channel.send("yes")
            elif("Daniel Ricciardo" in message.content):
                await message.channel.send("Perth")
            elif("Barack Obama" in message.content):
                await message.channel.send("08/04/1961")
            elif("Gal Gadot" in message.content):
                await message.channel.send("Israeli")
            elif("Omar Sy" in message.content):
                await message.channel.send("43")
            elif("Billie Eilish" in message.content):
                await message.channel.send("Billie Eilish Pirate Baird O'Connell")
            elif("best CTF" in message.content):
                await message.channel.send("P'HackCTF")

client = MyClient()
client.run(BOT_TOKEN, bot=False) # bot=False, because it's my real user token account (not a dev bot_token from discord)

Après éxecution de celui-ci:

python3 bot_discord.py

J’obtiens le flag en DM.

Flag

PHACK{i_4m_th3_w1k1_b0t}