예제 #1
0
class Problem(FlaskApp):
    files = [File("templates/index.html"), File("templates/cat.jpg")]
    #	files.append([File("templates/cat.jpg")])
    #files = [File("index.html",0o660)]
    files.extend(files_from_directory("templates/"))

    def generate_flag(self, random):
        return "svchost.exe"
예제 #2
0
class Problem(Remote):
    program_name = "repeated_message.py"
    files = [File("repeated_message.py"), ProtectedFile("flag.txt")]

    def generate_flag(self, random):
        hexdigits = hex(random.randrange(16**8))[2:]
        return "gunnHacks{sm0l_e_strikes_again_" + hexdigits + '}'
예제 #3
0
    def generate_challenge(self):
        copyfile("./data.png", "./data-secret.png")

        with open("./data-secret.png", "a") as f:
            f.write(self.flag)

        return [File("./data-secret.png")]
예제 #4
0
class Problem(Compiled):
    files = [File("flag.enc")]
    compiler_sources = ["simple_cipher.c"]
    program_name = "simple_cipher"

    def generate_flag(self, random):
        return r"gigem{d0n7_wr173_y0ur_0wn_c1ph3r5}"
예제 #5
0
    class Problem(*base_classes):
        files = copy([])

        remove_aslr = not aslr

        if share_source:
            files = copy([File(source) for source in sources])

        if binary_name is not None:
            program_name = binary_name
        else:
            program_name = os.path.splitext(sources[0])[0]

        def __init__(self):
            self.makefile = makefile
            self.compiler = compiler
            self.compiler_sources = sources
            self.compiler_flags = compiler_flags

            if not os.path.isfile(flag_file):
                with open(flag_file, "w") as f:
                    f.write("{{flag}}\n")

            if static_flag is not None:
                self.generate_flag = lambda random: static_flag

            self.files.append(ProtectedFile(flag_file))
예제 #6
0
    def setup(self):
        loc = "dirs/{}/{}/{}/flag.txt".format(self.random.randint(1, 9),
                                              self.random.randint(1, 9),
                                              self.random.randint(1, 9))
        for a in range(1, 10):
            for b in range(1, 10):
                for c in range(1, 10):
                    path = "dirs/{}/{}/{}".format(a, b, c)
                    os.makedirs(path)
                    with open(path + "/no_flag.txt", "w") as f:
                        f.write("")
                    self.files.append(File(path + "/no_flag.txt"))

        with open(loc, "w") as f:
            f.write(self.flag)
        self.files.append(File(loc))
예제 #7
0
파일: challenge.py 프로젝트: syclops/ctflab
class Problem(Challenge):
    files = [File("curling.pcap", 0o644)]

    def generate_flag(self, _):
        return "dQw4w9WgXcQ"

    def setup(self):
        pass
예제 #8
0
파일: challenge.py 프로젝트: syclops/ctflab
class Problem(Challenge):
    files = [File("image.pcap", 0o644)]

    def generate_flag(self, _):
        return "a_thousand_words"

    def setup(self):
        pass
예제 #9
0
class Problem(Challenge):
    files = [File("img.zip")]

    def generate_flag(self, random):
        return "gunnHacks{geotags}"

    def setup(self):
        print("pepega")
예제 #10
0
파일: challenge.py 프로젝트: syclops/ctflab
class Problem(Remote, Compiled):
    program_name = "mybinary"
    makefile = "Makefile"
    files = [File("mybinary.c"), ProtectedFile("flag.txt")]
    secret = "test"

    def __init__(self):
        self.lucky = self.random.randint(0, 1000)
예제 #11
0
class Problem(Challenge):
    files = [File("search.php")]
    
    def generate_flag(self, random):
        self.flag = "CTF{h4ck_4nd_g3t_b4g3ls}"
        return self.flag

    def setup(self):
        pass
예제 #12
0
class Problem(Challenge):
    files = [File("index.php")]

    def generate_flag(self, random):
        self.flag = "CTF{y0u_br0ke_into_the_v4ult}"
        return self.flag

    def setup(self):
        pass
예제 #13
0
파일: challenge.py 프로젝트: syclops/ctflab
 def initialize(self):
     self.files = [
         File("bit_xor.h", permissions=0o755),
         File("bit_xor_template.h", permissions=0o755),
         File("flag.txt", permissions=0o500),
         File("README.txt", permissions=0o644),
         File("run_tests.sh", permissions=0o754),
         File("run_tests", permissions=0o4755, user='******'),
         File("test_correctness.c", permissions=0o755),
         File("test_syntax.py", permissions=0o755),
     ]
 def initialize(self):
     characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&()*+,-./:;<=>?@[]^_`|~ \t"
     # TODO: fix some of these random characters that are causing framework to break during deploy!
     open(
         "file",
         "a").write(''.join(random.choice(characters)
                            for _ in range(4000)) + '\n')
     open("file", "a").write(self.flag + '\n')
     open(
         "file",
         "a").write(''.join(random.choice(characters)
                            for _ in range(4000)) + '\n')
     open(
         "file",
         "a").write(''.join(random.choice(characters)
                            for _ in range(4000)) + '\n')
     open(
         "file",
         "a").write(''.join(random.choice(characters)
                            for _ in range(4000)) + '\n')
     open("file", "a").write('\n')
     self.files = [File('file')]
예제 #15
0
 def initialize(self):
     self.files = [File('allyourbase64.png')]
예제 #16
0
 def setup(self):
     self.files = [File("eowens flyer.pdf")]
예제 #17
0
 def setup(self):
     self.files = [File("BlackBox.hdl")]
예제 #18
0
 def setup(self):
     generate_challenge(self.flag)
     self.files = [File("rather_small_apparatus.txt"), File("rather_small_apparatus.py")]
예제 #19
0
 def setup(self):
     self.files = [File("crypto.php"), File("output.bin")]
예제 #20
0
 def setup(self):
     x = 1 + 1
     files = [File("passwords.txt")]
예제 #21
0
 def setup(self):
     self.files = [File("chall.zip")]
예제 #22
0
 def setup(self):
     self.files = [File("codeFile.txt")]
예제 #23
0
 def setup(self):
     self.files = [File("data.txt")]
예제 #24
0
 def setup(self):
     x = 1 + 1
     files = [File("outlet.jpg")]
예제 #25
0
class Problem(FlaskApp):
    files = [File("templates/index.html"), File("templates/flag.html")]

    def generate_flag(self, random):
        hexdigits = "{:08x}".format(random.randrange(16**8))
        return "picoCTF{s3cr3t_ag3nt_m4n_%s}" % hexdigits
예제 #26
0
 def setup(self):
     x = 1 + 1
     files = [File("RedactIt.pdf")]
예제 #27
0
 def setup(self):
     x = 1 + 1
     files = [File("what_picture.jpg")]
예제 #28
0
 def setup(self):
     self.files = [
         File("signal.bin.zip"),
         File("sound.gif"),
         File("sound.wav")
     ]
예제 #29
0
 def setup(self):
     self.files = [File("floppy.img.zip")]
예제 #30
0
 def setup(self):
     generate_challenge(self.flag)
     self.files = [
         File("rational_security_adjustment.txt"),
         File("rational_security_adjustment.py")
     ]