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
  • #34

Closed
Open
Created Dec 01, 2014 by Raphaël Enrici@root42

Backtrace when a client is running for the first time

Hi,

While trying to access the dashboard, I can't see any client. After digging a bit it's due to the fact that the parser does not handle things well when a client is run for the first time.

Here is the backtrace:

DEBUG in burp1 [/usr/local/lib/python2.7/dist-packages/burpui/misc/backend/burp1.py:143]:
infos: '2 108310/0/0/0/112694 84176/0/0/0/88560 0/0/0/0/0 0/0/0/0/0 0/0/0/0/0 12892/0/0/0/12892 112'
--------------------------------------------------------------------------------
::1 - - [01/Dec/2014 21:45:32] "GET /api/running.json HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python2.7/dist-packages/flask_login.py", line 755, in decorated_view
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/burpui/routes.py", line 192, in backup_running
    j = bui.cli.is_one_backup_running(server)
  File "/usr/local/lib/python2.7/dist-packages/burpui/misc/backend/burp1.py", line 341, in is_one_backup_running
    cls = self.get_all_clients()
  File "/usr/local/lib/python2.7/dist-packages/burpui/misc/backend/burp1.py", line 373, in get_all_clients
    c['last'] = datetime.datetime.fromtimestamp(int(sp[len(sp)-2])).strftime('%Y-%m-%d %H:%M:%S')
ValueError: invalid literal for int() with base 10: '12892/0/0/0/12892'

A quick workaround is to check for this and make so that c['last'] is set to 'never':

--- /usr/local/lib/python2.7/dist-packages/burpui/misc/backend/burp1.py.orig	2014-12-01 21:55:53.435053447 +0100
+++ /usr/local/lib/python2.7/dist-packages/burpui/misc/backend/burp1.py	2014-12-01 21:48:19.636919563 +0100
@@ -370,7 +370,10 @@
                 c['last'] = datetime.datetime.fromtimestamp(int(sp[2])).strftime('%Y-%m-%d %H:%M:%S')
             else:
                 sp = infos.split('\t')
-                c['last'] = datetime.datetime.fromtimestamp(int(sp[len(sp)-2])).strftime('%Y-%m-%d %H:%M:%S')
+                try:
+                    c['last'] = datetime.datetime.fromtimestamp(int(sp[len(sp)-2])).strftime('%Y-%m-%d %H:%M:%S')
+                except:
+                    c['last'] = 'never'
             j.append(c)
         return j

Thanks.

Assignee
Assign to
Time tracking