Replies: 1 comment 1 reply
-
I think that it would be more than sufficient to make an easy extensible system for importing tasks from a CTF framework. So the first thing you do as soon as a CTF starts, you import it from the website and all the tasks are there immediately. A realtime (or periodically) sync is not necessary in my opinion. This way we can just slowly extend the compatibility for CTF frameworks. Changes in the data after the initial import will indeed be difficult to track. However, I think it will not be very difficult for the players to manually correct these changes. Or we can try to match data in a smart way to detect 90% similarity between the data and a task and this way choose the correct task to update. Or we just import another (duplicate) task with the new changes and we allow the player to see and change the HedgeDoc pad URL and therefore a player can just copy the pad from one task to another and delete the old one. Right now I see that the import is implemented in the browser. This will make it impossible to allow custom CTF frameworks since CORS will probably block it. So we have to add a server side fetch functionality for this. We can directly design it in such a way that it is easily extensible and that it doesn't require a lot of effort to add a new CTF framework. For the authentication we can add additional fields where the user can paste in their cookie/bearer so the server would be authenticated as the user. |
Beta Was this translation helpful? Give feedback.
-
That would be nice to have CTFNote retrieve tasks automatically.
I see multiple problems:
I have wet dreams of a standardized CTF API where all the tasks are publicly visible (or with an bearer token)
This is the reason why current CTFNote lets you import tasks from CTFd's JSON instead of fetching it
Is it worth it ?
Beta Was this translation helpful? Give feedback.
All reactions