BurpUI does not work with Celery
Hello Ziirish,
After trying to install Burp-UI and run with Celery but when run command #bui-celery --beat
.
I've installed Redis-Server (it works normally) as well as Celery...
#dnf install redis
#systemctl start redis.service
#redis-server -v`
Redis server v=5.0.3 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=8c0bf22bfba82c8f
pip3 install "burp-ui[celery]"
pip3 install "burp-ui[gunicorn-extra]"
Here is a bug report:
Bug summary
Unable to run Burp-UI with Celery.
Burp
$ burp -v
burp-2.3.22
Sysinfo
$ bui-manage sysinfo
bui-manage sysinfo
Python version: 3.6.8
Burp-UI version: 0.6.6 (stable)
OS: Linux:4.18.0-147.5.1.el8_1.x86_64 (posix)
Distribution: centos 8.1.1911 Core
Single mode: True
Backend version: 2
WebSocket embedded: False
WebSocket available: False
Config file: /etc/burp/burpui.cfg
Burp client version: 2.3.22
Burp server version: 2.3.22
logs
#bui-celery --beat
[2020-02-20 16:12:34,918: ERROR/ForkPoolWorker-3] Task burpui.tasks.cleanup_restore[7a8dc221-ada8-4554-a446-e6dba4ce5558] raised unexpected: AttributeError("'NoneType' object has no attribute 'session'",)
Traceback (most recent call last):
File "/usr/local/lib64/python3.6/site-packages/celery/app/trace.py", line 385, in trace_task
R = retval = fun(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/burpui/../burpui/extensions.py", line 326, in __call__
return TaskBase.__call__(self, *args, **kwargs)
File "/usr/local/lib64/python3.6/site-packages/celery/app/trace.py", line 650, in __protected_call__
return self.run(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/burpui/../burpui/tasks.py", line 228, in cleanup_restore
tasks = db.session.query(Task).filter(Task.task == 'perform_restore').filter(datetime.utcnow() > Task.expire).all()
AttributeError: 'NoneType' object has no attribute 'session'
[2020-02-20 16:12:34,937: ERROR/ForkPoolWorker-3] Task burpui.tasks.cleanup_restore[63d9fe64-7a32-4f62-b4b0-fe002221c17a] raised unexpected: AttributeError("'NoneType' object has no attribute 'session'",)
Traceback (most recent call last):
File "/usr/local/lib64/python3.6/site-packages/celery/app/trace.py", line 385, in trace_task
R = retval = fun(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/burpui/../burpui/extensions.py", line 326, in __call__
return TaskBase.__call__(self, *args, **kwargs)
File "/usr/local/lib64/python3.6/site-packages/celery/app/trace.py", line 650, in __protected_call__
return self.run(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/burpui/../burpui/tasks.py", line 228, in cleanup_restore
tasks = db.session.query(Task).filter(Task.task == 'perform_restore').filter(datetime.utcnow() > Task.expire).all()
AttributeError: 'NoneType' object has no attribute 'session'
[2020-02-20 16:12:34,961: ERROR/ForkPoolWorker-2] Task burpui.tasks.cleanup_restore[f29069a4-ca1e-4563-8bbf-3196991e3757] raised unexpected: AttributeError("'NoneType' object has no attribute 'session'",)
Traceback (most recent call last):
File "/usr/local/lib64/python3.6/site-packages/celery/app/trace.py", line 385, in trace_task
R = retval = fun(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/burpui/../burpui/extensions.py", line 326, in __call__
return TaskBase.__call__(self, *args, **kwargs)
File "/usr/local/lib64/python3.6/site-packages/celery/app/trace.py", line 650, in __protected_call__
return self.run(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/burpui/../burpui/tasks.py", line 228, in cleanup_restore
tasks = db.session.query(Task).filter(Task.task == 'perform_restore').filter(datetime.utcnow() > Task.expire).all()
AttributeError: 'NoneType' object has no attribute 'session'
Configuration Burp-UI
[Global]
version = 2
single = true
auth = basic
acl = basic
prefix = none
plugins = none
[UI]
refresh = 180
liverefresh = 5
ignore_labels = "color:.*", "custom:.*"
format_labels = "s/^os:\s*//"
default_strip = 0
[Production]
storage = redis
session = redis
cache = redis
redis = localhost:6379
celery = true
database = none
limiter = false
ratio = 60/minute
[WebSocket]
enabled = true
embedded = false
broker = redis
url = none
debug = false
[Security]
includes = /etc/burp
enforce = false
revoke = true
cookietime = 14
sessiontime = 5
scookie = true
appsecret = random
[Experimental]
zip64 = false
noserverrestore = false
[Burp]
bhost = 127.0.0.1
bport = 4972
burpbin = /usr/sbin/burp
stripbin = /usr/sbin/vss_strip
bconfcli = /etc/burp/burp.conf
bconfsrv = /etc/burp/burp-server.conf
tmpdir = /tmp/bui
timeout = 15
I haven't figure out the reason why I recevied the error log: AttributeError: 'NoneType' object has no attribute 'session' yet.
Thanks