Example #1
0
def tasks_view():
    # delete task
    if request.args.get('delete'):
        task_id = request.args.get('delete')
        connectiondb(tasks_db).delete_one({'_id': ObjectId(task_id)})
        connectiondb(vul_db).update({'task_id': ObjectId(task_id)}, {"$set": {"tag": "delete"}}, multi=True)
        return "success"
    # rescan
    elif request.args.get('rescan'):
        task_id = request.args.get('rescan')
        connectiondb(tasks_db).update_one({'_id': ObjectId(task_id)}, {'$set': {'task_status': 'Preparation'}})
        if connectiondb(vul_db).find_one({"task_id": ObjectId(task_id)}):
            connectiondb(vul_db).update({'task_id': ObjectId(task_id)}, {"$set": {"tag": "delete"}}, multi=True)
        try:
            scanner = PocsuiteScanner(ObjectId(task_id))
            t1 = Thread(target=scanner.set_scanner, args=())
            t1.start()
            return "success"
        except Exception as e:
            raise e

    # get task info for edit (get)
    elif request.args.get('edit'):
        task_id = request.args.get('edit')
        task_edit_data = connectiondb(tasks_db).find_one({'_id': ObjectId(task_id)})
        task_edit_data_json = {
            'task_name': task_edit_data['task_name'],
            'scan_target': '\n'.join(task_edit_data['scan_target']),
        }
        return jsonify(task_edit_data_json)

    # default task view
    task_data = connectiondb(tasks_db).find().sort('end_date', -1)
    return render_template('task-management.html', task_data=task_data)
Example #2
0
def tasks_edit():
    # task update
    task_name = request.form.get('taskname_val')
    task_plan = request.form.get('recursion_val')
    target_text = request.form.get('target_val').split('\n', -1)
    task_id = request.form.get('task_id')
    update_task_data = connectiondb(tasks_db).update_one(
        {'_id': ObjectId(task_id)}, {
            '$set': {
                'task_name': task_name,
                'task_recursion': task_plan,
                'scan_target': target_text,
            }
        })
    if update_task_data:
        scanner = PocsuiteScanner(ObjectId(task_id))
        t1 = Thread(target=scanner.set_scanner, args=())
        t1.start()
        return 'success'
Example #3
0
def add_customer():
    # create task from new scan view (post)
    if request.form.get('source') == 'add_cus':
        cus_data = {
            "cus_name":
            request.form.get('cus_name'),
            "cus_contact":
            request.form.get('cus_contact'),
            "cus_phone":
            request.form.get('cus_phone'),
            "cus_email":
            request.form.get('cus_email').strip(),
            "cus_zhouqi_start":
            request.form.get('cus_zhouqi_start'),
            "cus_zhouqi_end":
            request.form.get('cus_zhouqi_end'),
            "cus_serv_type":
            request.form.get('cus_serv_type'),
            # "cus_serv_zhouqi": request.form.get('cus_serv_zhouqi'),
            "cus_other":
            request.form.get('cus_other'),
            "cus_add_time":
            time.strftime('%Y-%m-%d %X', time.localtime(time.time())),
        }

        if cus_data:
            existe_cus_datas = connectiondb(cus_db).find_one(
                {'cus_name': cus_data['cus_name']})
            if not existe_cus_datas:
                cus_id = connectiondb(cus_db).insert_one(cus_data).inserted_id
                # print cus_data
                if cus_id:
                    # scanner = PocsuiteScanner(cus_id)
                    # t1 = Thread(target=scanner.set_scanner, args=())
                    # t1.start()
                    return "success"
            else:
                return 'repeat'
        else:
            return 'error'

    # create task from asset (post)
    elif request.form.get('source') == 'asset':
        task_data = {
            "task_name":
            time.strftime("%y%m%d", time.localtime()) + "_" +
            request.form.get('taskname_val'),
            "task_recursion":
            request.form.get('recursion_val'),
            "scan_target":
            request.form.get('target_val').replace('\r', '').split('\n', -1),
            "plugin_id":
            request.form.get('plugin_val').split(',', -1),
            "start_date":
            time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
            "end_date":
            "-",
            "task_status":
            "Preparation"
        }
        if task_data:
            task_id = connectiondb(tasks_db).insert_one(task_data).inserted_id
            if task_id:
                scanner = PocsuiteScanner(task_id)
                t1 = Thread(target=scanner.set_scanner, args=())
                t1.start()
                return 'success'
        else:
            return 'error'
    # create task from sub domain (post)
    elif request.form.get('source') == 'subdomain':
        task_data = {
            "task_name":
            time.strftime("%y%m%d", time.localtime()) + "_" +
            request.form.get('taskname_val'),
            "task_recursion":
            request.form.get('recursion_val'),
            "scan_target":
            request.form.get('target_val').replace('\r', '').split('\n', -1),
            "plugin_id":
            request.form.get('plugin_val').split(',', -1),
            "start_date":
            time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
            "end_date":
            "-",
            "task_status":
            "Preparation"
        }
        if task_data:
            task_id = connectiondb(tasks_db).insert_one(task_data).inserted_id
            if task_id:
                scanner = PocsuiteScanner(task_id)
                t1 = Thread(target=scanner.set_scanner, args=())
                t1.start()
                return 'success'
        else:
            return 'error'
Example #4
0
def add_task():
    # create task from new scan view (post)
    if request.form.get('source') == 'scan_view':
        server_target_tmp = []

        asset_id_val = request.form.get('asset_id_val').split(',', -1)
        for id_tmp in asset_id_val:
            server_info_tmp = connectiondb(server_db).find(
                {'asset_task_id': id_tmp}, {
                    "_id": 0,
                    "target": 1
                })
            for tmp_1 in server_info_tmp:
                if tmp_1.has_key('target'):
                    server_target_tmp.append(tmp_1['target'])
            # asset_target_val  = ','.join(server_target_tmp)

        scan_target_tmp = request.form.get('target_val').replace('\r',
                                                                 '').split(
                                                                     '\n', -1)
        for tmp_2 in scan_target_tmp:
            if tmp_2:
                server_target_tmp.append(tmp_2)

        task_data = {
            "task_name":
            time.strftime("%y%m%d", time.localtime()) + "_" +
            request.form.get('taskname_val'),
            "task_recursion":
            request.form.get('recursion_val'),
            "scan_target":
            server_target_tmp,
            "plugin_id":
            request.form.get('plugin_val').split(',', -1),
            "start_date":
            time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
            "end_date":
            "-",
            "task_status":
            "new"
        }

        # print task_data
        if task_data:
            task_id = connectiondb(tasks_db).insert_one(task_data).inserted_id
            if task_id:
                scanner = PocsuiteScanner(task_id)
                t1 = Thread(target=scanner.set_scanner, args=())
                t1.start()
                return "success"
        else:
            return 'error'

    # create task from asset (post)
    elif request.form.get('source') == 'asset':
        task_data = {
            "task_name":
            time.strftime("%y%m%d", time.localtime()) + "_" +
            request.form.get('taskname_val'),
            "task_recursion":
            request.form.get('recursion_val'),
            "scan_target":
            request.form.get('target_val').replace('\r', '').split('\n', -1),
            "plugin_id":
            request.form.get('plugin_val').split(',', -1),
            "start_date":
            time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
            "end_date":
            "-",
            "task_status":
            "Preparation"
        }
        if task_data:
            task_id = connectiondb(tasks_db).insert_one(task_data).inserted_id
            if task_id:
                scanner = PocsuiteScanner(task_id)
                t1 = Thread(target=scanner.set_scanner, args=())
                t1.start()
                return 'success'
        else:
            return 'error'
    # create task from sub domain (post)
    elif request.form.get('source') == 'subdomain':
        task_data = {
            "task_name":
            time.strftime("%y%m%d", time.localtime()) + "_" +
            request.form.get('taskname_val'),
            "task_recursion":
            request.form.get('recursion_val'),
            "scan_target":
            request.form.get('target_val').replace('\r', '').split('\n', -1),
            "plugin_id":
            request.form.get('plugin_val').split(',', -1),
            "start_date":
            time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
            "end_date":
            "-",
            "task_status":
            "Preparation"
        }
        if task_data:
            task_id = connectiondb(tasks_db).insert_one(task_data).inserted_id
            if task_id:
                scanner = PocsuiteScanner(task_id)
                t1 = Thread(target=scanner.set_scanner, args=())
                t1.start()
                return 'success'
        else:
            return 'error'