def testBroken(self): path = os.path.join(modulePath(), 'testtasks', 'Broken.py') runner = TaskRunner() runner.start() out_q = runner.taskStart([path, "Foo"]) time.sleep(0.2) self.assertEquals(len(out_q.get()), 34) self.assertFalse(runner.taskAlive()) runner.quit()
def testOverloadQue(self): path = os.path.join(modulePath(), 'testtasks', 'FlagZ.py') runner = TaskRunner() runner.start() out_q = runner.taskStart([path, "Foo"]) time.sleep(1) runner.quit() self.assertFalse(runner.taskAlive()) self.assert_(out_q.qsize() > 1000)
def testHang(self): path = os.path.join(modulePath(), 'testtasks', 'Hang.py') runner = TaskRunner() runner.start() out_q = runner.taskStart([path, "Foo"]) time.sleep(0.1) self.assertTrue(runner.taskAlive()) runner.taskStop() self.assertFalse(runner.taskAlive()) runner.quit()
def testBasic(self): path = os.path.join(modulePath(), 'testtasks', 'Succesful.py') runner = TaskRunner() runner.start() out_q = runner.taskStart([path, "Foo"]) txt = out_q.get(True, 1) self.assertEquals(txt, "FLAG: foobarbaz") self.assertEquals(len(out_q.get(True, 1)), 0) self.assertFalse(runner.taskAlive()) self.assertEquals(0, runner.taskRetcode()) runner.quit()
def testStress(self): path = os.path.join(modulePath(), 'testtasks', 'Hang.py') runners = [] for i in range(100): runner = TaskRunner() runner.start() runner.taskStart([path, "Foo"]) runners.append(runner) for i in range(100): runners[i].quit() for i in range(100): self.assertFalse(runners[i].taskAlive())
def testLinesThenHang(self): path = os.path.join(modulePath(), 'testtasks', 'Hang2.py') runner = TaskRunner() runner.start() out_q = runner.taskStart([path, "Foo"]) line1 = out_q.get() line2 = out_q.get() self.assertEquals("A" * 1024, line1) self.assertEquals("B" * 1024, line2) self.assertTrue(runner.taskAlive()) runner.quit() self.assertFalse(runner.taskAlive())
def __init__(self, script, team, logger): self.logger = logger if (self.logger != None): self.logger.debug("Creating UsenixExploitTask: %r %r" % (script, team.host)) thread_size = threading.stack_size(524288) self.runner = TaskRunner() self.runner.start() self.script = script self.line_q = None self.team = team self.cookie = None self.exploit_success = False self.captured_flags = [] threading.stack_size(thread_size)
def __init__(self,script,team,logger=None): self.logger = logger if(self.logger != None): self.logger.debug("Creating Service Task: %r %r" % (team.host,script)) thread_size = threading.stack_size(524288) self.runner = TaskRunner() self.runner.start() self.script = script self.team = team self.cookie_txt = None self.error_txt = None self.prev_flag = None self.current_flag = None self.expected_flag = None self.line_q = None threading.stack_size(thread_size)
def __init__(self, script, ip, timeout, logger): self.logger = logger if (self.logger != None): self.logger.debug("Creating Attack Task: %r %r %d" % (script, ip, timeout)) thread_size = threading.stack_size(524288) self.runner = TaskRunner() self.runner.start() self.script = script self.line_q = None self.ip = ip self.cookie = None self.captured_flags = [] self.timeout = timeout self.timeout_set = False self.timer = AttackTimer(self.runner, timeout) self.timer.start() threading.stack_size(thread_size)