Shortest debugger operation challenge on many architectures

Many remote debugging servers are running on port 10000, 10001, 10002...

Information page
Flag page

CONNECT TO THE SERVER

  • Connect to the server and input the GDB remote serial protocol directly.
    Example:
    
    $ echo '+$g#67+' | nc <server> 10000
    

ATTACK POINTS

  • Files named "word.txt" are located in some servers in the program's current directory.
  • You can obtain an attack keyword by reading "word.txt".
  • Submit the attack keyword to the score board. (ATTACK POINTS)

DEFENSE POINTS

  • Write your team's defense keyword to "flag.txt".
  • You can see the keyword wrote in "flag.txt" at the information page in realtime.
  • The keyword wrote in "flag.txt" is registered with the flag page periodically. (DEFENSE POINTS)

LIMIT OF INPUT SIZE

  • The server gets input until the limit of size.
  • The limit of size decreases and returns to the maximum value periodically.
  • When the limit of size returns to the maximum value, the keyword wrote in "flag.txt" is registered with the flag page.
  • You can see the limit of size at the information page in realtime.

    Rotation of the limit
    maximum value ----> ...decreasing periodically... ----> minimum value
          ^                      ^          |                     |
          |                      |          v                     |
          |                       <---------                      |
          |                                                       |
          |                                                       v
           <--------- register flag.txt to the flag page <--------
    

OPERATION

  • If other team wrote the defense keyword to "flag.txt", overwrite it by your team's defense keyword.
  • Interfere with other teams to erase other team's defense keyword from "flag.txt", trancate it, remove it, or other many ways...
  • But, you cannot operate the server if your input is greater than the limit of size.
  • To operate the server, overwrite "flag.txt", and interfere with other teams as long as possible, make shortest input.

INFORMATION

  • The servers are running on the simulator in gdb-7.12 with some special patches.
  • This system is based on Linux.

REFERENCE

  • Assembly samples for many architectures: cross-gcc4

NETWORK CONNECTION

  • A long connection is disconnected automatically. (several seconds)
  • A request of a connection in a short interval is ignored. (several seconds)