fix: don't throw exceptions when the burp directory is not found

This commit is contained in:
ziirish 2021-10-06 17:23:48 +02:00
parent edde0b710f
commit 10169e4894
No known key found for this signature in database
GPG key ID: 72DB229A64B54E46
4 changed files with 21 additions and 9 deletions

View file

@ -899,15 +899,24 @@ class Burp(BUIbackend):
def is_server_backup(self, client=None, agent=None):
"""See :func:`burpui.misc.backend.interface.BUIbackend.is_server_backup`"""
return self.parser.read_backup(client)
try:
return self.parser.read_backup(client)
except BUIserverException:
return None
def cancel_server_backup(self, client=None, agent=None):
"""See :func:`burpui.misc.backend.interface.BUIbackend.cancel_server_backup`"""
return self.parser.cancel_backup(client)
try:
return self.parser.cancel_backup(client)
except BUIserverException:
return None
def server_backup(self, client=None, agent=None):
"""See :func:`burpui.misc.backend.interface.BUIbackend.server_backup`"""
return self.parser.server_initiated_backup(client)
try:
return self.parser.server_initiated_backup(client)
except BUIserverException:
return None
def delete_backup(self, name=None, backup=None, agent=None):
"""See :func:`burpui.misc.backend.interface.BUIbackend.delete_backup`"""

View file

@ -632,10 +632,11 @@ class Burp(Burp1):
cli["last"] = utc_to_local(infos["timestamp"])
if last_attempt:
last_backup = self._get_last_backup(client["name"])
if convert:
cli["last_attempt"] = utc_to_local(last_backup["timestamp"])
else:
cli["last_attempt"] = last_backup["timestamp"]
if last_attempt:
if convert:
cli["last_attempt"] = utc_to_local(last_backup["timestamp"])
else:
cli["last_attempt"] = last_backup["timestamp"]
ret.append(cli)
return ret

View file

@ -51,6 +51,8 @@ class Monitor(object):
_last_status_cleanup = datetime.datetime.now()
_time_to_cache = datetime.timedelta(seconds=3)
_ignore_logs = re.compile(r"^Server version: (\d+\.\d+\.\d+).*$")
def __init__(self, burpbin, burpconf, app=None, timeout=5, ident=None):
"""
:param app: ``Burp-UI`` server instance in order to access logger
@ -222,7 +224,7 @@ class Monitor(object):
return True
if not self._server_version:
if "logline" in jso:
ret = re.search(r"^Server version: (\d+\.\d+\.\d+).*$", jso["logline"])
ret = self._ignore_logs.search(jso["logline"])
if ret:
self._server_version = ret.group(1)
if self.server_version >= BURP_LIST_BATCH: