mirror of https://github.com/JohnHammond/CTFd.git
943 lines
17 KiB
Python
943 lines
17 KiB
Python
#!/usr/bin/python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
from CTFd.models import Teams, Solves, Challenges, WrongKeys, Keys, Tags, Files, Tracking
|
|
from CTFd import create_app
|
|
from random import randint
|
|
|
|
import datetime
|
|
import random
|
|
import hashlib
|
|
import os
|
|
import sys
|
|
|
|
app = create_app(sys.argv[1], sys.argv[2], sys.argv[3])
|
|
|
|
USER_AMOUNT = 50
|
|
CHAL_AMOUNT = 20
|
|
|
|
categories = [
|
|
'Exploitation',
|
|
'Reversing',
|
|
'Web',
|
|
'Forensics',
|
|
'Scripting',
|
|
'Cryptography',
|
|
'Networking',
|
|
]
|
|
lorems = [
|
|
'Lorem',
|
|
'ipsum',
|
|
'dolor',
|
|
'sit',
|
|
'amet,',
|
|
'consectetur',
|
|
'adipiscing',
|
|
'elit.',
|
|
'Proin',
|
|
'fringilla',
|
|
'elit',
|
|
'velit,',
|
|
'sed',
|
|
'scelerisque',
|
|
'tellus',
|
|
'dapibus',
|
|
'vel.',
|
|
'Aenean',
|
|
'at',
|
|
'urna',
|
|
'porta,',
|
|
'fringilla',
|
|
'erat',
|
|
'eget,',
|
|
'lobortis',
|
|
'quam.',
|
|
'Praesent',
|
|
'luctus,',
|
|
'quam',
|
|
'at',
|
|
'consequat',
|
|
'luctus,',
|
|
'mauris',
|
|
'sem',
|
|
'pretium',
|
|
'metus,',
|
|
'eu',
|
|
'viverra',
|
|
'dui',
|
|
'leo',
|
|
'in',
|
|
'tortor.',
|
|
'Cras',
|
|
'iaculis',
|
|
'enim',
|
|
'erat,',
|
|
'sed',
|
|
'gravida',
|
|
'velit',
|
|
'consectetur',
|
|
'a.',
|
|
'Duis',
|
|
'eget',
|
|
'fermentum',
|
|
'elit.',
|
|
'Vivamus',
|
|
'laoreet',
|
|
'elementum',
|
|
'massa,',
|
|
'ut',
|
|
'sodales',
|
|
'mi',
|
|
'gravida',
|
|
'at.',
|
|
'Vivamus',
|
|
'dignissim',
|
|
'in',
|
|
'eros',
|
|
'non',
|
|
'iaculis.',
|
|
'Vivamus',
|
|
'nec',
|
|
'sem',
|
|
'fringilla,',
|
|
'semper',
|
|
'lectus',
|
|
'in,',
|
|
'malesuada',
|
|
'tellus.',
|
|
'Vestibulum',
|
|
'mattis',
|
|
'commodo',
|
|
'enim',
|
|
'sit',
|
|
'amet',
|
|
'scelerisque.',
|
|
'Proin',
|
|
'at',
|
|
'condimentum',
|
|
'nisi,',
|
|
'nec',
|
|
'fringilla',
|
|
'ante.',
|
|
'Vestibulum',
|
|
'sit',
|
|
'amet',
|
|
'neque',
|
|
'sit',
|
|
'amet',
|
|
'elit',
|
|
'placerat',
|
|
'interdum',
|
|
'egestas',
|
|
'ac',
|
|
'malesuada',
|
|
'quis',
|
|
'arcu',
|
|
'ac',
|
|
'blandit.',
|
|
'Vivamus',
|
|
'in',
|
|
'massa',
|
|
'a',
|
|
'purus',
|
|
'bibendum',
|
|
'sagittis.',
|
|
'Nunc',
|
|
'venenatis',
|
|
'lacus',
|
|
'sed',
|
|
'nulla',
|
|
'dapibus,',
|
|
'consequat',
|
|
'laoreet',
|
|
'nisi',
|
|
'faucibus.',
|
|
'Nam',
|
|
'consequat',
|
|
'viverra',
|
|
'nibh',
|
|
'a',
|
|
'cursus.',
|
|
'Phasellus',
|
|
'tristique',
|
|
'justo',
|
|
'vitae',
|
|
'rutrum',
|
|
'pharetra.',
|
|
'Sed',
|
|
'sed',
|
|
'porttitor',
|
|
'lacus.',
|
|
'Nam',
|
|
'ornare',
|
|
'sit',
|
|
'amet',
|
|
'nisi',
|
|
'imperdiet',
|
|
'vulputate.',
|
|
'Maecenas',
|
|
'hendrerit',
|
|
'ullamcorper',
|
|
'elit,',
|
|
'sed',
|
|
'pellentesque',
|
|
'lacus',
|
|
'bibendum',
|
|
'sit',
|
|
'amet.',
|
|
'Aliquam',
|
|
'consectetur',
|
|
'odio',
|
|
'quis',
|
|
'tellus',
|
|
'ornare,',
|
|
'id',
|
|
'malesuada',
|
|
'dui',
|
|
'rhoncus.',
|
|
'Quisque',
|
|
'fringilla',
|
|
'pellentesque',
|
|
'nulla',
|
|
'id',
|
|
'congue.',
|
|
'Nulla',
|
|
'ultricies',
|
|
'dolor',
|
|
'tristique',
|
|
'facilisis',
|
|
'at',
|
|
'accumsan',
|
|
'nisi.',
|
|
'Praesent',
|
|
'commodo,',
|
|
'mauris',
|
|
'sit',
|
|
'amet',
|
|
'placerat',
|
|
'condimentum,',
|
|
'nibh',
|
|
'leo',
|
|
'pulvinar',
|
|
'justo,',
|
|
'vel',
|
|
'dignissim',
|
|
'mi',
|
|
'dolor',
|
|
'et',
|
|
'est.',
|
|
'Nulla',
|
|
'facilisi.',
|
|
'Sed',
|
|
'nunc',
|
|
'est,',
|
|
'lobortis',
|
|
'id',
|
|
'diam',
|
|
'nec,',
|
|
'vulputate',
|
|
'varius',
|
|
'orci.',
|
|
'Maecenas',
|
|
'iaculis',
|
|
'vehicula',
|
|
'eros',
|
|
'eu',
|
|
'congue.',
|
|
'Nam',
|
|
'tempor',
|
|
'commodo',
|
|
'lobortis.',
|
|
'Donec',
|
|
'eget',
|
|
'posuere',
|
|
'dolor,',
|
|
'ut',
|
|
'rhoncus',
|
|
'tortor.',
|
|
'Donec',
|
|
'et',
|
|
'quam',
|
|
'quis',
|
|
'urna',
|
|
'rhoncus',
|
|
'fermentum',
|
|
'et',
|
|
'ut',
|
|
'tellus.',
|
|
'Aliquam',
|
|
'erat',
|
|
'volutpat.',
|
|
'Morbi',
|
|
'porttitor',
|
|
'ante',
|
|
'nec',
|
|
'porta',
|
|
'mollis.',
|
|
'Ut',
|
|
'sodales',
|
|
'pellentesque',
|
|
'rutrum.',
|
|
'Nullam',
|
|
'elit',
|
|
'eros,',
|
|
'sollicitudin',
|
|
'ac',
|
|
'rutrum',
|
|
'sit',
|
|
'amet,',
|
|
'eleifend',
|
|
'vel',
|
|
'nulla.',
|
|
'Morbi',
|
|
'quis',
|
|
'lacinia',
|
|
'nisi.',
|
|
'Integer',
|
|
'at',
|
|
'neque',
|
|
'vel',
|
|
'velit',
|
|
'tincidunt',
|
|
'elementum',
|
|
'lobortis',
|
|
'sit',
|
|
'amet',
|
|
'tellus.',
|
|
'Nunc',
|
|
'volutpat',
|
|
'diam',
|
|
'ac',
|
|
'diam',
|
|
'lacinia,',
|
|
'id',
|
|
'molestie',
|
|
'quam',
|
|
'eu',
|
|
'ultricies',
|
|
'ligula.',
|
|
'Duis',
|
|
'iaculis',
|
|
'massa',
|
|
'massa,',
|
|
'eget',
|
|
'venenatis',
|
|
'dolor',
|
|
'fermentum',
|
|
'laoreet.',
|
|
'Nam',
|
|
'posuere,',
|
|
'erat',
|
|
'quis',
|
|
'tempor',
|
|
'consequat,',
|
|
'purus',
|
|
'erat',
|
|
'hendrerit',
|
|
'arcu,',
|
|
'nec',
|
|
'aliquam',
|
|
'ligula',
|
|
'augue',
|
|
'vitae',
|
|
'felis.',
|
|
'Vestibulum',
|
|
'tincidunt',
|
|
'ipsum',
|
|
'vel',
|
|
'pharetra',
|
|
'lacinia.',
|
|
'Quisque',
|
|
'dignissim,',
|
|
'arcu',
|
|
'non',
|
|
'feugiat',
|
|
'semper,',
|
|
'felis',
|
|
'est',
|
|
'commodo',
|
|
'lorem,',
|
|
'malesuada',
|
|
'elementum',
|
|
'nibh',
|
|
'lectus',
|
|
'porttitor',
|
|
'nisi.',
|
|
'Duis',
|
|
'non',
|
|
'lacinia',
|
|
'nisl.',
|
|
'Etiam',
|
|
'ante',
|
|
'nisl,',
|
|
'mattis',
|
|
'eget',
|
|
'convallis',
|
|
'vel,',
|
|
'ullamcorper',
|
|
'ac',
|
|
'nisl.',
|
|
'Duis',
|
|
'eu',
|
|
'massa',
|
|
'at',
|
|
'urna',
|
|
'laoreet',
|
|
'convallis.',
|
|
'Donec',
|
|
'tincidunt',
|
|
'sapien',
|
|
'sit',
|
|
'amet',
|
|
'varius',
|
|
'eu',
|
|
'dignissim',
|
|
'tortor,',
|
|
'elementum',
|
|
'gravida',
|
|
'eros.',
|
|
'Cras',
|
|
'viverra',
|
|
'accumsan',
|
|
'erat,',
|
|
'et',
|
|
'euismod',
|
|
'dui',
|
|
'placerat',
|
|
'ac.',
|
|
'Ut',
|
|
'tortor',
|
|
'arcu,',
|
|
'euismod',
|
|
'vitae',
|
|
'aliquam',
|
|
'in,',
|
|
'interdum',
|
|
'vitae',
|
|
'magna.',
|
|
'Vestibulum',
|
|
'leo',
|
|
'ante,',
|
|
'posuere',
|
|
'eget',
|
|
'est',
|
|
'non,',
|
|
'adipiscing',
|
|
'ultrices',
|
|
'erat.',
|
|
'Donec',
|
|
'suscipit',
|
|
'felis',
|
|
'molestie,',
|
|
'ultricies',
|
|
'dui',
|
|
'a,',
|
|
'facilisis',
|
|
'magna.',
|
|
'Cum',
|
|
'sociis',
|
|
'natoque',
|
|
'penatibus',
|
|
'et',
|
|
'magnis',
|
|
'dis',
|
|
'parturient',
|
|
'montes,',
|
|
'nascetur',
|
|
'ridiculus',
|
|
'mus.',
|
|
'Nulla',
|
|
'quis',
|
|
'odio',
|
|
'sit',
|
|
'amet',
|
|
'ante',
|
|
'tristique',
|
|
'accumsan',
|
|
'ut',
|
|
'iaculis',
|
|
'neque.',
|
|
'Vivamus',
|
|
'in',
|
|
'venenatis',
|
|
'enim.',
|
|
'Nunc',
|
|
'dignissim',
|
|
'justo',
|
|
'neque,',
|
|
'sed',
|
|
'ultricies',
|
|
'justo',
|
|
'dictum',
|
|
'in.',
|
|
'Nulla',
|
|
'eget',
|
|
'nunc',
|
|
'ac',
|
|
'arcu',
|
|
'vestibulum',
|
|
'bibendum',
|
|
'vitae',
|
|
'quis',
|
|
'tellus.',
|
|
'Morbi',
|
|
'bibendum,',
|
|
'quam',
|
|
'ac',
|
|
'cursus',
|
|
'posuere,',
|
|
'purus',
|
|
'lectus',
|
|
'tempor',
|
|
'est,',
|
|
'eu',
|
|
'iaculis',
|
|
'quam',
|
|
'enim',
|
|
'a',
|
|
'nibh.',
|
|
'Etiam',
|
|
'consequat',
|
|
'libero',
|
|
'vitae',
|
|
'ullamcorper',
|
|
'tincidunt.',
|
|
]
|
|
hipsters = ['Ethnic', 'narwhal', 'pickled', 'Odd', 'Future', 'cliche', 'VHS', 'whatever', 'Etsy', 'American', 'Apparel', 'kitsch', 'wolf', 'mlkshk', 'fashion', 'axe', 'ethnic', 'banh', 'mi', 'cornhole', 'scenester', 'Echo', 'Park', 'Dreamcatcher', 'tofu', 'fap', 'selvage', 'authentic', 'cliche', 'High', 'Life', 'brunch', 'pork', 'belly', 'viral', 'XOXO', 'drinking', 'vinegar', 'bitters', 'Wayfarers', 'gastropub', 'dreamcatcher', 'chillwave', 'Shoreditch', 'kale', 'chips', 'swag', 'street', 'art', 'put', 'a', 'bird', 'on', 'it', 'Vice', 'synth', 'cliche', 'retro', 'Master', 'cleanse', 'ugh', 'Austin', 'slow-carb', 'small', 'batch', 'Hashtag', 'food', 'truck', 'deep', 'v', 'semiotics', 'chia', 'normcore', 'bicycle', 'rights', 'Austin', 'drinking', 'vinegar', 'hella', 'readymade', 'farm-to-table', 'Wes', 'Anderson', 'put', 'a', 'bird', 'on', 'it', 'freegan', 'Synth', 'lo-fi', 'food', 'truck', 'chambray', 'Shoreditch', 'cliche', 'kogiSynth', 'lo-fi', 'fap', 'single-origin', 'coffee', 'brunch', 'butcher', 'Pickled', 'Etsy', 'locavore', 'forage', 'pug', 'stumptown', 'occupy', 'PBR&B', 'actually', 'shabby', 'chic', 'church-key', 'disrupt', 'lomo', 'hoodie', 'Tumblr', 'biodiesel', 'Pinterest', 'butcher', 'Hella', 'Carles', 'pour-over', 'YOLO', 'VHS', 'literally', 'Selvage', 'narwhal', 'flexitarian', 'wayfarers', 'kitsch', 'bespoke', 'sriracha', 'Banh', 'mi', '8-bit', 'cornhole', 'viral', 'Tonx', 'keytar', 'gastropub', 'YOLO', 'hashtag', 'food', 'truck', '3', 'wolf', 'moonFingerstache', 'flexitarian', 'craft', 'beer', 'shabby', 'chic', '8-bit', 'try-hard', 'semiotics', 'Helvetica', 'keytar', 'PBR', 'four', 'loko', 'scenester', 'keytar', '3', 'wolf', 'moon', 'sriracha', 'gluten-free', 'literally', 'try-hard', 'put', 'a', 'bird', 'on', 'it', 'cornhole', 'blog', 'fanny', 'pack', 'Mumblecore', 'pickled', 'distillery', 'butcher', 'Ennui', 'tote', 'bag', 'letterpress', 'disrupt', 'keffiyeh', 'art', 'party', 'aesthetic', 'Helvetica', 'stumptown', 'Wes', 'Anderson', 'next', 'level', "McSweeney's", 'cornhole', 'Schlitz', 'skateboard', 'pop-up', 'Chillwave', 'biodiesel', 'semiotics', 'seitan', 'authentic', 'bicycle', 'rights', 'wolf', 'pork', 'belly', 'letterpress', 'locavore', 'whatever', 'fixie', 'viral', 'mustache', 'beard', 'Hashtag', 'sustainable', 'lomo', 'cardigan', 'lo-fiWilliamsburg', 'craft', 'beer', 'bitters', 'iPhone', 'gastropub', 'messenger', 'bag', 'Organic', 'post-ironic', 'fingerstache', 'ennui', 'banh', 'mi', 'Art', 'party', 'bitters', 'twee', 'bespoke', 'church-key', 'Intelligentsia', 'sriracha', 'Echo', 'Park', 'Tofu', 'locavore', 'street', 'art', 'freegan', 'farm-to-table', 'distillery', 'hoodie', 'swag', 'ugh', 'YOLO', 'VHS', 'Cred', 'hella', 'readymade', 'distillery', 'Banh', 'mi', 'Echo', 'Park', "McSweeney's,", 'mlkshk', 'photo', 'booth', 'swag', 'Odd', 'Future', 'squid', 'Tonx', 'craft', 'beer', 'High', 'Life', 'tousled', 'PBR', 'you', 'probably', "haven't", 'heard', 'of', 'them', 'locavore', 'PBR&B', 'street', 'art', 'pop-up', 'raw', 'denim']
|
|
names = [
|
|
'James',
|
|
'John',
|
|
'Robert',
|
|
'Michael',
|
|
'William',
|
|
'David',
|
|
'Richard',
|
|
'Joseph',
|
|
'Charles',
|
|
'Thomas',
|
|
'Christopher',
|
|
'Daniel',
|
|
'Matthew',
|
|
'Donald',
|
|
'Anthony',
|
|
'Paul',
|
|
'Mark',
|
|
'George',
|
|
'Steven',
|
|
'Kenneth',
|
|
'Andrew',
|
|
'Edward',
|
|
'Brian',
|
|
'Joshua',
|
|
'Kevin',
|
|
'Ronald',
|
|
'Timothy',
|
|
'Jason',
|
|
'Jeffrey',
|
|
'Gary',
|
|
'Ryan',
|
|
'Nicholas',
|
|
'Eric',
|
|
'Stephen',
|
|
'Jacob',
|
|
'Larry',
|
|
'Frank',
|
|
'Jonathan',
|
|
'Scott',
|
|
'Justin',
|
|
'Raymond',
|
|
'Brandon',
|
|
'Gregory',
|
|
'Samuel',
|
|
'Patrick',
|
|
'Benjamin',
|
|
'Jack',
|
|
'Dennis',
|
|
'Jerry',
|
|
'Alexander',
|
|
'Tyler',
|
|
'Douglas',
|
|
'Henry',
|
|
'Peter',
|
|
'Walter',
|
|
'Aaron',
|
|
'Jose',
|
|
'Adam',
|
|
'Harold',
|
|
'Zachary',
|
|
'Nathan',
|
|
'Carl',
|
|
'Kyle',
|
|
'Arthur',
|
|
'Gerald',
|
|
'Lawrence',
|
|
'Roger',
|
|
'Albert',
|
|
'Keith',
|
|
'Jeremy',
|
|
'Terry',
|
|
'Joe',
|
|
'Sean',
|
|
'Willie',
|
|
'Jesse',
|
|
'Ralph',
|
|
'Billy',
|
|
'Austin',
|
|
'Bruce',
|
|
'Christian',
|
|
'Roy',
|
|
'Bryan',
|
|
'Eugene',
|
|
'Louis',
|
|
'Harry',
|
|
'Wayne',
|
|
'Ethan',
|
|
'Jordan',
|
|
'Russell',
|
|
'Alan',
|
|
'Philip',
|
|
'Randy',
|
|
'Juan',
|
|
'Howard',
|
|
'Vincent',
|
|
'Bobby',
|
|
'Dylan',
|
|
'Johnny',
|
|
'Phillip',
|
|
'Craig',
|
|
'Mary',
|
|
'Patricia',
|
|
'Elizabeth',
|
|
'Jennifer',
|
|
'Linda',
|
|
'Barbara',
|
|
'Susan',
|
|
'Margaret',
|
|
'Jessica',
|
|
'Dorothy',
|
|
'Sarah',
|
|
'Karen',
|
|
'Nancy',
|
|
'Betty',
|
|
'Lisa',
|
|
'Sandra',
|
|
'Helen',
|
|
'Donna',
|
|
'Ashley',
|
|
'Kimberly',
|
|
'Carol',
|
|
'Michelle',
|
|
'Amanda',
|
|
'Emily',
|
|
'Melissa',
|
|
'Laura',
|
|
'Deborah',
|
|
'Stephanie',
|
|
'Rebecca',
|
|
'Sharon',
|
|
'Cynthia',
|
|
'Ruth',
|
|
'Kathleen',
|
|
'Anna',
|
|
'Shirley',
|
|
'Amy',
|
|
'Angela',
|
|
'Virginia',
|
|
'Brenda',
|
|
'Pamela',
|
|
'Catherine',
|
|
'Katherine',
|
|
'Nicole',
|
|
'Christine',
|
|
'Janet',
|
|
'Debra',
|
|
'Carolyn',
|
|
'Samantha',
|
|
'Rachel',
|
|
'Heather',
|
|
'Maria',
|
|
'Diane',
|
|
'Frances',
|
|
'Joyce',
|
|
'Julie',
|
|
'Martha',
|
|
'Joan',
|
|
'Evelyn',
|
|
'Kelly',
|
|
'Christina',
|
|
'Emma',
|
|
'Lauren',
|
|
'Alice',
|
|
'Judith',
|
|
'Marie',
|
|
'Doris',
|
|
'Ann',
|
|
'Jean',
|
|
'Victoria',
|
|
'Cheryl',
|
|
'Megan',
|
|
'Kathryn',
|
|
'Andrea',
|
|
'Jacqueline',
|
|
'Gloria',
|
|
'Teresa',
|
|
'Janice',
|
|
'Sara',
|
|
'Rose',
|
|
'Julia',
|
|
'Hannah',
|
|
'Theresa',
|
|
'Judy',
|
|
'Mildred',
|
|
'Grace',
|
|
'Beverly',
|
|
'Denise',
|
|
'Marilyn',
|
|
'Amber',
|
|
'Danielle',
|
|
'Brittany',
|
|
'Diana',
|
|
'Jane',
|
|
'Lori',
|
|
'Olivia',
|
|
'Tiffany',
|
|
'Kathy',
|
|
'Tammy',
|
|
'Crystal',
|
|
'Madison',
|
|
]
|
|
emails = [
|
|
'@gmail.com',
|
|
'@yahoo.com',
|
|
'@outlook.com',
|
|
'@hotmail.com',
|
|
'@mailinator.com',
|
|
'@poly.edu',
|
|
'@nyu.edu'
|
|
]
|
|
extensions = [
|
|
'.doc',
|
|
'.log',
|
|
'.msg',
|
|
'.rtf',
|
|
'.txt',
|
|
'.wpd',
|
|
'.wps',
|
|
'.123',
|
|
'.csv',
|
|
'.dat',
|
|
'.db ',
|
|
'.dll',
|
|
'.mdb',
|
|
'.pps',
|
|
'.ppt',
|
|
'.sql',
|
|
'.wks',
|
|
'.xls',
|
|
'.xml',
|
|
'.mng',
|
|
'.pct',
|
|
'.bmp',
|
|
'.gif',
|
|
'.jpe',
|
|
'.jpg',
|
|
'.png',
|
|
'.psd',
|
|
'.psp',
|
|
'.tif',
|
|
'.ai ',
|
|
'.drw',
|
|
'.dxf',
|
|
'.eps',
|
|
'.ps ',
|
|
'.svg',
|
|
'.3dm',
|
|
'.3dm',
|
|
'.ind',
|
|
'.pdf',
|
|
'.qxd',
|
|
'.qxp',
|
|
'.aac',
|
|
'.aif',
|
|
'.iff',
|
|
'.m3u',
|
|
'.mid',
|
|
'.mid',
|
|
'.mp3',
|
|
'.mpa',
|
|
'.ra ',
|
|
'.ram',
|
|
'.wav',
|
|
'.wma',
|
|
'.3gp',
|
|
'.asf',
|
|
'.asx',
|
|
'.avi',
|
|
'.mov',
|
|
'.mp4',
|
|
'.mpg',
|
|
'.qt ',
|
|
'.rm ',
|
|
'.swf',
|
|
'.wmv',
|
|
'.asp',
|
|
'.css',
|
|
'.htm',
|
|
'.htm',
|
|
'.js ',
|
|
'.jsp',
|
|
'.php',
|
|
'.xht',
|
|
'.fnt',
|
|
'.fon',
|
|
'.otf',
|
|
'.ttf',
|
|
'.8bi',
|
|
'.plu',
|
|
'.xll',
|
|
'.cab',
|
|
'.cpl',
|
|
'.cur',
|
|
'.dmp',
|
|
'.drv',
|
|
'.key',
|
|
'.lnk',
|
|
'.sys',
|
|
'.cfg',
|
|
'.ini',
|
|
'.reg',
|
|
'.app',
|
|
'.bat',
|
|
'.cgi',
|
|
'.com',
|
|
'.exe',
|
|
'.pif',
|
|
'.vb ',
|
|
'.ws ',
|
|
'.deb',
|
|
'.gz ',
|
|
'.pkg',
|
|
'.rar',
|
|
'.sea',
|
|
'.sit',
|
|
'.sit',
|
|
'.zip',
|
|
'.bin',
|
|
'.hqx',
|
|
'.0 E',
|
|
'.mim',
|
|
'.uue',
|
|
'.cpp',
|
|
'.jav',
|
|
'.pl ',
|
|
'.bak',
|
|
'.gho',
|
|
'.old',
|
|
'.ori',
|
|
'.tmp',
|
|
'.dmg',
|
|
'.iso',
|
|
'.toa',
|
|
'.vcd',
|
|
'.gam',
|
|
'.nes',
|
|
'.rom',
|
|
'.sav',
|
|
'.msi',
|
|
'.tor',
|
|
'.yps'
|
|
]
|
|
|
|
def gen_sentence():
|
|
return ' '.join(random.sample(lorems, 50))
|
|
|
|
def gen_name():
|
|
return random.choice(names)
|
|
|
|
def gen_email():
|
|
return random.choice(emails)
|
|
|
|
def gen_category():
|
|
return random.choice(categories)
|
|
|
|
def gen_value():
|
|
return random.choice(range(100, 500, 50))
|
|
|
|
def gen_word():
|
|
return random.choice(hipsters)
|
|
|
|
def gen_file():
|
|
return gen_word()+random.choice(extensions)
|
|
|
|
def random_date(start, end):
|
|
return start + datetime.timedelta(
|
|
seconds=randint(0, int((end - start).total_seconds())))
|
|
with app.app_context():
|
|
db = app.db
|
|
|
|
### Generating Challenges
|
|
print "GENERATING CHALLENGES"
|
|
for x in range(CHAL_AMOUNT):
|
|
word = gen_word()
|
|
db.session.add(Challenges(word, gen_sentence(), gen_value(), gen_category()))
|
|
db.session.commit()
|
|
db.session.add(Keys(x+1, word, 0))
|
|
db.session.commit()
|
|
|
|
### Generating Files
|
|
print "GENERATING FILES"
|
|
AMT_CHALS_WITH_FILES = int(CHAL_AMOUNT * (3.0/4.0))
|
|
for x in range(AMT_CHALS_WITH_FILES):
|
|
chal = random.randint(1, CHAL_AMOUNT)
|
|
filename = gen_file()
|
|
md5hash = hashlib.md5(filename).hexdigest()
|
|
db.session.add( Files(chal, os.path.join('static/uploads', md5hash, filename)) )
|
|
db.session.commit()
|
|
|
|
### Generating Users
|
|
print "GENERATING USERS"
|
|
used = []
|
|
while len(used) < USER_AMOUNT:
|
|
name = gen_name()
|
|
if name not in used:
|
|
used.append(name)
|
|
db.session.add( Teams(name , name.lower() + gen_email(), 'password') )
|
|
db.session.commit()
|
|
|
|
### Generating Solves
|
|
print "GENERATING SOLVES"
|
|
base_time = datetime.datetime.utcnow() + datetime.timedelta(minutes=-2880)
|
|
for x in range(USER_AMOUNT):
|
|
used = []
|
|
for y in range(random.randint(1,CHAL_AMOUNT)):
|
|
chalid = random.randint(1,CHAL_AMOUNT)
|
|
if chalid not in used:
|
|
used.append(chalid)
|
|
solve = Solves(chalid, x+1, '127.0.0.1')
|
|
|
|
new_base = random_date(base_time, base_time + datetime.timedelta(minutes=60))
|
|
solve.date = new_base
|
|
base_time = new_base
|
|
|
|
db.session.add(solve)
|
|
db.session.commit()
|
|
|
|
### Generating Wrong Keys
|
|
print "GENERATING WRONG KEYS"
|
|
base_time = datetime.datetime.utcnow() + datetime.timedelta(minutes=-3880)
|
|
for x in range(USER_AMOUNT):
|
|
used = []
|
|
for y in range(random.randint(1,CHAL_AMOUNT * 20)):
|
|
chalid = random.randint(1,CHAL_AMOUNT)
|
|
if chalid not in used:
|
|
used.append(chalid)
|
|
wrong = WrongKeys(x+1, chalid, gen_word())
|
|
|
|
new_base = random_date(base_time, base_time + datetime.timedelta(minutes=60))
|
|
wrong.date = new_base
|
|
base_time = new_base
|
|
|
|
db.session.add(wrong)
|
|
db.session.commit()
|
|
db.session.close()
|