Problem restoring files with non-english characters.
I'm having troubles with some files. I strongly believe is because those files have non-english characters (catalan or spanish tildes). I can restore files just fine from files with no symbols.
If I try to restore a file (or folder which contains a file) with a non-english character (e.g: "à", "ó", etc) the interface says:
{"status": 500, "message": "Internal Server Error"}
And the debug output shows this:
192.168.25.14 - - [25/Apr/2016 11:42:16] "GET /api/client/browse/babel/83?root=f:/grups/GESTMANT/(300-301-302)ACCEPTACIONS%20PRESSUPOSTOS%20I%20CONTRACTES%20(300)/2015/ HTTP/1.1" 200 -
--------------------------------------------------------------------------------
ERROR in app [/usr/local/lib/python2.7/site-packages/burpui/../flask/app.py:1423]:
Exception on /api/restore/archive/babel/83 [POST]
--------------------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/burpui/../flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python2.7/site-packages/burpui/../flask/app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/usr/local/lib/python2.7/site-packages/burpui/api/__init__.py", line 125, in decorated_view
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/burpui/../flask_restplus/api.py", line 309, in wrapper
resp = resource(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/burpui/../flask/views.py", line 84, in view
return self.dispatch_request(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/burpui/../flask_restplus/resource.py", line 44, in dispatch_request
resp = meth(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/burpui/api/restore.py", line 112, in post
archive, err = api.bui.cli.restore_files(name, backup, l, s, f, p)
File "/usr/local/lib/python2.7/site-packages/burpui/misc/backend/burp1.py", line 872, in restore_files
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
File "/usr/local/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/local/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
TypeError: execv() arg 2 must contain only strings
192.168.25.14 - - [25/Apr/2016 11:42:26] "POST /api/restore/archive/babel/83 HTTP/1.1" 500 -
As I can restore other files from the same backup, I think I have all settings fine.
Any advise how to solve this? I'm using latest burp-ui version and 1.4.40 burp server (compiled by hand on a FreeBSD jail)
Regards