Make Git Better CTF

make-git-better-ctf-logo

TLDR - where do I start

Click right here to start. Good luck!

What is this?

A Capture-The-Flag challenge (what’s that?), aimed at intermediate git users, that revolves around git. You advance in the challenge by using git commands to get the flag that unlocks the next stage.

Cool, where do I sign up?

🈚 The challenge is totally free and open-source! No signup, payment, or bla-bla required. I do recommend contacting me if you plan to try the challenge.

My git workshop ⚒

This CTF is a part of a git workshop I’ve conducted multiple times. Some information about the workshop:

If you want the workshop for your organization, contact me and let’s set it up đŸ€™

Prerequisites

Knowledge

Installations

All you need to play the challenge is:

You probably have all three installed on your machine already.

Unsure about which terminal to use?

If you want to check if your shell’s support for Unicode, try to curl or wget a file that has unicode, and see what it prints. For example:

wget -O - http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt

This should print something that looks like this towards the end:

Runes:

  ᚻᛖ ᚳáščᚫᚊ ᚊᚫᛏ ᚻᛖ ᛒᚱᛞᛖ ᚩ᚟ ᚊᚫᛗ ᛚášȘ᚟ᛞᛖ ᚟ᚩᚱᚊáščᛖášȘᚱᛞᚹᛗ áščᛁᚩ ᚩášȘ áščᛖᛄᚫ

  (Old English, which transcribed into Latin reads 'He cwaeth that he
  bude thaem lande northweardum with tha Westsae.' and means 'He said
  that he lived in the northern land near the Western Sea.')

Braille:

  ⡌⠁⠧⠑ ⠌⠁⠒  ⡍⠜⠇⠑â č⠰⠎ ⡣⠕⠌

  ⡍⠜⠇⠑â č â ș⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ â ș⠊â čâ Č âĄč⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞
  ⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ â č⠁⠞â Č âĄč⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠄⠗⠊⠁⠇ â ș⠁⠎
  ⠎⠊⠛⠝⠫ ⠃â č â č⠑ ⠊⠇⠻⠛â č⠍⠁⠝⠂ â č⠑ ⠊⠇⠻⠅⠂ â č⠑ ⠄⠝⠙⠻⠞⠁⠅⠻⠂
  ⠁⠝⠙ â č⠑ ⠡⠊⠑⠋ â â łâ —â â »â Č ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞â Č ⡁⠝⠙
  ⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ â ș⠁⠎ ⠛⠕⠕⠙ ⠄⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝â čâ č⠔⠛ ⠙⠑
  ⠡⠕⠎⠑ ⠞⠕ ⠏⠄⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕â Č

  ⡕⠇⠙ ⡍⠜⠇⠑â č â ș⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠀⠝⠁⠊⠇â Č

  ⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁â č â č⠁⠞ ⡊ ⠅⠝â Ș⠂ ⠕⠋ ⠍â č
  â Ș⠝ ⠅⠝â Ș⠇⠫⠛⠑⠂ ⠱⠁⠞ â č⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠄⠇⠜⠇â č ⠙⠑⠁⠙ ⠁⠃⠳⠞
  ⠁ ⠙⠕⠕⠗⠀⠝⠁⠊⠇â Č ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑â Č ⠔⠊⠇⠔⠫⠂ ⠍â č⠎⠑⠇⠋⠂ ⠞⠕
  ⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠀⠝⠁⠊⠇ ⠁⠎ â č⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻â č
  ⠔ â č⠑ ⠞⠗⠁⠙⠑â Č âĄƒâ „â ž â č⠑ â ș⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎
  ⠊⠎ ⠔ â č⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍â č ⠄⠝⠙⠁⠇⠇â Șâ « ⠙⠁⠝⠙⠎
  ⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠄⠗⠃ ⠊⠞⠂ ⠕⠗ â č⠑ ⡊⠳⠝⠞⠗â č⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗â Č âĄčâ ł
  â ș⠊⠇⠇ â č⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇â č⠂ â č⠁⠞
  ⡍⠜⠇⠑â č â ș⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠀⠝⠁⠊⠇â Č

  (The first couple of paragraphs of "A Christmas Carol" by Dickens)

Compact font selection example text:

  ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789
  abcdefghijklmnopqrstuvwxyz ÂŁÂ©Â”Ă€Ă†Ă–ĂžĂŸĂ©Ă¶Ăż
  â€“â€”â€˜â€œâ€â€žâ€ â€ąâ€Šâ€°â„ąĆ“Ć ĆžĆŸâ‚Ź ΑΒΓΔΩαÎČÎłÎŽÏ‰ АБВГДабĐČгЎ
  ∀∂∈ℝ∧âˆȘ≡∞ ↑↗↚↻⇣ ┐┌╔╘░â–șâ˜ș♀ ïŹïżœâ‘€â‚‚áŒ áž‚Ó„áș„ɐː⍎ŚÔ±áƒ

Greetings in various languages:

  Hello world, ÎšÎ±Î»Î·ÎŒáœłÏÎ± ÎșáœčσΌΔ, コンニチハ

Box drawing alignment tests:                                          █
                                                                      ▉
  ╔══╩══╗  ┌──┬──┐  ╭──┬──╼  ╭──┬──╼  ┏━━┳━━┓  ┎┒┏┑   ╷  ╻ ┏┯┓ ┌┰┐    ▊ ╱â•Č╱â•Č╳╳╳
  ║┌─╹─┐║  │╔═╧═╗│  │╒═â•Ș═╕│  │╓─╁─╖│  ┃┌─╂─┐┃  ┗╃╄┙  ╶┌╎â•ș╋╞┠┌┚ ┝╋┄    ▋ â•Č╱â•Č╱╳╳╳
  ║│â•Č ╱│║  │║   ║│  ││ │ ││  │║ ┃ ║│  ┃│ ╿ │┃  ┍╅╆┓   â•”  â•č ┗┷┛ └┾┘    ▌ ╱â•Č╱â•Č╳╳╳
  ╠╡ ╳ ╞╣  ├╱   ╟─  ├┌─┌─┌─  ├╫─╂─╫─  â”Łâ”żâ•Ÿâ”Œâ•Œâ”żâ”«  ┕┛┖┚     ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ â•Č╱â•Č╱╳╳╳
  ║│╱ â•Č│║  │║   ║│  ││ │ ││  │║ ┃ ║│  ┃│ â•œ │┃  ░░▒▒▓▓██ ┊  ┆ ╎ ╏  ┇ ┋ ▎
  ║└─╄─┘║  │╚═╀═╝│  │╘═â•Ș═╛│  │╙─╀─╜│  ┃└─╂─┘┃  ░░▒▒▓▓██ ┊  ┆ ╎ ╏  ┇ ┋ ▏
  ╚══╩══╝  └──┮──┘  ╰──┮──╯  ╰──┮──╯  ┗━━┻━━┛  ▗▄▖▛▀▜   └╌╌┘ ╎ ┗╍╍┛ ┋  ▁▂▃▄▅▆▇█
                                               ▝▀▘▙▄▟

The game server 🔹

box

Here’s what you should expect to be installed on the CTF server you’re going to log in to.

Everything else you need to solve the CTF is installed on the machine: no need for any other external tools.

Rules

These rules are 100% based on the honor system đŸ€đŸœ

Cool, so where do I begin?

Right here, good luck.

Hall of Fame 🏆

Read here to get a list of everyone who’s completed the challenge!

The challenge is open source

The challenge is open-source and is licensed under Creative Commons Attribution 4.0 International.

You can read about how the challenge was built in my development log blog post series. The challenge is made up of two (main) repositories:

If you want to contribute new levels you can refer to the README to get started. I recommend you open your own fork of the two repositores and talk to me about your plans before you start working.