Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • burp-ui burp-ui
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 22
    • Issues 22
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Benjamin "Ziirish" SANS
  • burp-uiburp-ui
  • Issues
  • #227

Closed
Open
Created Aug 18, 2017 by radixcl@radixcl

Internal server error when backup is running

Hello,

When burp backup is running (doing backups), burp-ui fails with error 500:

ERROR in app.log_exception [/usr/local/lib/python2.7/dist-packages/flask/app.py:1560]:
Exception on /api/clients/stats [GET]
--------------------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python2.7/dist-packages/burpui/api/__init__.py", line 69, in decorated_view
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/flask_restplus/api.py", line 313, in wrapper
    resp = resource(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/flask/views.py", line 84, in view
    return self.dispatch_request(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/flask_restplus/resource.py", line 44, in dispatch_request
    resp = meth(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/flask_cache/__init__.py", line 297, in decorated_function
    rv = f(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/burpui/api/custom/namespace.py", line 31, in wrapper
    resp = f(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/burpui/api/clients.py", line 465, in get
    jso = bui.client.get_all_clients(agent=server)
  File "/usr/local/lib/python2.7/dist-packages/burpui/misc/backend/burp2.py", line 849, in get_all_clients
    cli['phase'] = client['phase']
KeyError: 'phase'

I've fixed it by:

Line 849 of backend/burp2.py contains:

    cli['phase'] = client['phase']

Changed to:

    if 'phase' in client:
        cli['phase'] = client['phase']

Should fix the problem.

Also:

  File "/usr/local/lib/python2.7/dist-packages/burpui/misc/backend/burp2.py", line 677, in get_counters
    for counter in backup['counters']:

Line 677:

    for counter in backup['counters']:

Replaced with:

    for counter in backup.get('counters', {}):

Hope it helps.

Edited Aug 18, 2017 by radixcl
Assignee
Assign to
Time tracking