diff --git a/app/modules/roxywi/logs.py b/app/modules/roxywi/logs.py index ccef16ca..c89c007c 100644 --- a/app/modules/roxywi/logs.py +++ b/app/modules/roxywi/logs.py @@ -78,6 +78,8 @@ def show_roxy_log( log_file = checkAjaxInput(log_file) if log_file is not None else log_file + if '..' in log_file: return 'error: nice try' + if service in ('nginx', 'haproxy', 'apache', 'keepalived'): syslog_server_enable = sql.get_setting('syslog_server_enable') if syslog_server_enable is None or syslog_server_enable == 0: diff --git a/app/modules/server/ssh.py b/app/modules/server/ssh.py index 5778c866..4df70bea 100644 --- a/app/modules/server/ssh.py +++ b/app/modules/server/ssh.py @@ -51,16 +51,16 @@ def ssh_connect(server_ip): def create_ssh_cred() -> None: from jinja2 import Environment, FileSystemLoader - user_group = roxywi_common.get_user_group() name = common.checkAjaxInput(form.getvalue('new_ssh')) - name = f'{name}_{user_group}' enable = common.checkAjaxInput(form.getvalue('ssh_enable')) group = common.checkAjaxInput(form.getvalue('new_group')) + group_name = sql.get_group_name_by_id(group) username = common.checkAjaxInput(form.getvalue('ssh_user')) password = common.checkAjaxInput(form.getvalue('ssh_pass')) page = common.checkAjaxInput(form.getvalue('page')) page = page.split("#")[0] lang = roxywi_common.get_user_lang() + name = f'{name}_{group_name}' if username is None or name is None: print(error_mess) @@ -91,6 +91,10 @@ def create_ssh_cread_api(name: str, enable: str, group: str, username: str, pass def upload_ssh_key(name: str, user_group: str, key: str) -> bool: + if '..' in name: + print('error: nice try') + return False + try: key = paramiko.pkey.load_private_key(key) except Exception as e: diff --git a/app/scripts/ansible/roles/haproxy/tasks/logs.yml b/app/scripts/ansible/roles/haproxy/tasks/logs.yml index 96291c27..635fdc1a 100644 --- a/app/scripts/ansible/roles/haproxy/tasks/logs.yml +++ b/app/scripts/ansible/roles/haproxy/tasks/logs.yml @@ -11,4 +11,5 @@ src: /var/www/haproxy-wi/app/scripts/ansible/roles/haproxy/templates/logrotate.conf.j2 dest: /etc/logrotate.d/haproxy.conf force: no + when: (ansible_facts['os_family'] == "RedHat" or ansible_facts['os_family'] == 'CentOS') ignore_errors: yes \ No newline at end of file diff --git a/app/templates/ajax/new_ssh.html b/app/templates/ajax/new_ssh.html index 86be6c63..d3a0bf51 100644 --- a/app/templates/ajax/new_ssh.html +++ b/app/templates/ajax/new_ssh.html @@ -15,7 +15,7 @@