ctf-server

old server for hosting capture-the-flag

git clone https://9o.is/git/ctf-server.git

sample

(2386B)


      1 // Setup a Game to test during development
      2   def setupDBDemo {
      3 
      4     Flag.findAll.map(_.delete_!)
      5     User.findAll.map(_.delete_!)
      6     Challenge.findAll.map(_.delete_!)
      7     CapturedFlags.findAll.map(_.delete_!)
      8     RequiredFlags.findAll.map(_.delete_!)
      9     ChatMessage.findAll.map(_.delete_!)
     10     BroadcastMessage.findAll.map(_.delete_!)
     11     
     12     val user1 = User.create.nickName("julio").email("julio@ex.com").password("julio1").firstName("Julio").lastName("Cabrera").image("https://2.gravatar.com/avatar/7d6356b8b56a9a71583787904a970daa?d=https%3A%2F%2Fidenticons.github.com%2Fdafaaf6a82312d937618f62558d02f93.png&s=440") 
     13     
     14     user1.save
     15     
     16     val chal1 = Challenge.create.name("CHALLENGE #1").hint("Hint for challenge #1 goes right over here, not there.").long(-73.934574).lat(41.722728)
     17     val chal2 = Challenge.create.name("CHALLENGE #2").hint("Hint for challenge #2 goes right over here, not there.").long(-73.932784).lat(41.723275)
     18     val chal3 = Challenge.create.name("CHALLENGE #3").hint("Hint for challenge #3 goes right over here, not there.").long(-73.935525).lat(41.720757).radius(60)
     19     val chal4 = Challenge.create.name("CHALLENGE #4").hint("Hint for challenge #4 goes right over here, not there.").long(-73.932812).lat(41.720805)
     20        
     21     chal1.save
     22     chal2.save
     23     chal3.save
     24     chal4.save
     25     
     26     val flag1 = Flag.create.challenge(chal1).key(1625384701923766L).long(-73.934396).lat(41.72263).answer(1333914971356298L)
     27     val flag2 = Flag.create.challenge(chal1).key(9817239872138273L).long(-73.934644).lat(41.722709).answer(12439955323105301L) 
     28     val flag3 = Flag.create.challenge(chal2).key(1231241244545682L).long(-73.932777).lat(41.723166).answer(2970320398905211L) 
     29     val flag4 = Flag.create.challenge(chal3).key(7618736172542122L).long(-73.935479).lat(41.720831).answer(6125722619732445L)
     30     val flag5 = Flag.create.challenge(chal4).key(8267364893651231L).long(-73.932816).lat(41.720635).answer(5503501786089999L).winner(true)
     31     
     32     flag1.save
     33     flag2.save
     34     flag3.save
     35     flag4.save
     36     flag5.save
     37     
     38     flag3.prerequisite += flag2
     39     flag4.prerequisite += flag1
     40     flag5.prerequisite += flag3
     41     flag5.prerequisite += flag4   
     42     user1.capturedFlags += flag2
     43     
     44     chal1.save
     45     chal2.save
     46     chal3.save
     47     chal4.save
     48     flag1.save
     49     flag2.save
     50     flag3.save
     51     flag4.save
     52     flag5.save
     53     user1.save    
     54   }