WikiBot - 256 points

Quand on lui envoie des messages (en privé), le bot nous permet de participer à un quiz (en répondant plusieurs fois "yes" à ses questions pour lancer celui-ci). Il s'agit comme il le dit lui-même de diverses questions simples sur des personnes connues et dont on peut trouver la réponse par une simple recherche Google de la question. Néanmoins nous ne disposons que de 3 secondes pour répondre correctement à celles-ci. En essayant le quiz quelques fois, on se retrouve face aux mêmes questions assez vite, ce qui laisse penser que la liste de celles-ci est définie (elles ne sont pas créées à la volée) et assez courte (une petite dizaine).

J'ai alors créé un selfbot (sur un nouveau compte Discord) répondant aux questions par la réponse qu'il connaît quand il détecte celles-ci, et, après 6 bonnes réponses de suite, le bot nous donne le flag

import discord from discord.ext.commands import Bot from discord.ext import commands import asyncio TOKEN = "" bot = Bot(command_prefix = "!!!") answers = { "Barack Obama" : "08/04/1961", "nationality of Gal Gadot" : "Israeli", "best CTF event": "P'HackCTF", "birthplace of Daniel Ricciardo" : "Perth", "How old is Omar Sy" : "43", "What is the full name of birth of Billie Eilish" : "Billie Eilish Pirate Baird O'Connell" } @bot.event async def on_ready(): print("BOT READY") @bot.event async def on_message(msg): if msg.author.id == 819936988634808340 and "**Question" in msg.content: for i in answers: if i in msg.content: await msg.channel.send(answers[i]) break else: pass bot.run(TOKEN, bot = False)

Le challenge voulait probablement nous faire automatiser l'obtention de la réponse but it just works.