Skip to content

Commit fdc2134

Browse files
committed
bug fix: allow file with spaces to be uploaded
1 parent 5e2f9aa commit fdc2134

File tree

3 files changed

+19
-20
lines changed

3 files changed

+19
-20
lines changed

CyberCP/secMiddleware.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,6 @@ def __call__(self, request):
5454
if request.path.find('gitNotify') > -1:
5555
break
5656

57-
# if request.path.find('users') > -1 or request.path.find('firewall') > -1 or request.path.find('servicesAction') > -1 or request.path.find('sslForHostName') > -1:
58-
# logging.writeToFile(request.body)
59-
# final_dic = {'error_message': "Data supplied is not accepted.",
60-
# "errorMessage": "Data supplied is not accepted."}
61-
# final_json = json.dumps(final_dic)
62-
# return HttpResponse(final_json)
63-
6457
if type(value) == str or type(value) == bytes:
6558
pass
6659
else:

filemanager/filemanager.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,9 @@ def ajaxPre(self, status, errorMessage):
2020
return HttpResponse(final_json)
2121

2222
def returnPathEnclosed(self, path):
23-
htmlParser = html.parser.HTMLParser()
24-
path = html.unescape(path)
25-
return path
2623
return "'" + path + "'"
2724

25+
2826
def changeOwner(self, path):
2927
domainName = self.data['domainName']
3028
website = Websites.objects.get(domain=domainName)
@@ -367,8 +365,13 @@ def upload(self):
367365

368366
myfile = self.request.FILES['file']
369367
fs = FileSystemStorage()
370-
filename = fs.save(myfile.name, myfile)
371-
finalData['fileName'] = fs.url(filename)
368+
369+
try:
370+
filename = fs.save(myfile.name, myfile)
371+
finalData['fileName'] = fs.url(filename)
372+
except BaseException as msg:
373+
logging.writeToFile('%s. [375:upload]' % (str(msg)))
374+
372375
pathCheck = '/home/%s' % (self.data['domainName'])
373376

374377
if ACLManager.commandInjectionCheck(self.data['completePath'] + '/' + myfile.name) == 1:

plogical/acl.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,17 @@ class ACLManager:
1919

2020
@staticmethod
2121
def commandInjectionCheck(value):
22-
if value.find(';') > -1 or value.find('&&') > -1 or value.find('|') > -1 or value.find('...') > -1 \
23-
or value.find("`") > -1 or value.find("$") > -1 or value.find("(") > -1 or value.find(")") > -1 \
24-
or value.find("'") > -1 or value.find("[") > -1 or value.find("]") > -1 or value.find(
25-
"{") > -1 or value.find("}") > -1 \
26-
or value.find(":") > -1 or value.find("<") > -1 or value.find(">") > -1:
27-
return 1
28-
else:
29-
return 0
22+
try:
23+
if value.find(';') > -1 or value.find('&&') > -1 or value.find('|') > -1 or value.find('...') > -1 \
24+
or value.find("`") > -1 or value.find("$") > -1 or value.find("(") > -1 or value.find(")") > -1 \
25+
or value.find("'") > -1 or value.find("[") > -1 or value.find("]") > -1 or value.find(
26+
"{") > -1 or value.find("}") > -1 \
27+
or value.find(":") > -1 or value.find("<") > -1 or value.find(">") > -1:
28+
return 1
29+
else:
30+
return 0
31+
except BaseException as msg:
32+
logging.writeToFile('%s. [32:commandInjectionCheck]' % (str(msg)))
3033

3134
@staticmethod
3235
def loadedACL(val):

0 commit comments

Comments
 (0)