HEX
Server: Apache
System: Linux vpshost0650.publiccloud.com.br 4.4.79-grsec-1.lc.x86_64 #1 SMP Wed Aug 2 14:18:21 -03 2017 x86_64
User: bandeirantesbomb3 (10068)
PHP: 8.0.7
Disabled: apache_child_terminate,dl,escapeshellarg,escapeshellcmd,exec,link,mail,openlog,passthru,pcntl_alarm,pcntl_exec,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,php_check_syntax,php_strip_whitespace,popen,proc_close,proc_open,shell_exec,symlink,system
Upload Files
File: //usr/lib/python2.7/site-packages/lap/mysql_check_password.py
import MySQLdb
import socket

def __run__(params):
    conn = None
    try:
        root_hosts = 'localhost,127.0.0.1,::1,'+ socket.gethostname()
        for line in root_hosts.split(','):
            conn = MySQLdb.connect(host=line, user="root")
            if conn:
                return [2, ' User "root" without password']
            else:
                conn = MySQLdb.connect(host=line)
                if conn:
                    return [2, ' User "root" without password']

    except Exception, e:

        f = params.get("defaults-file", "/etc/check_mk/mysql.cfg")

        conn = MySQLdb.connect(read_default_file=f)
        cursor = conn.cursor()

        skip = "SELECT count(PRIVILEGE_TYPE) FROM information_schema.USER_PRIVILEGES"
        cursor.execute(skip)
        grants = cursor.fetchone()[0]

        if grants <> 0:
            versionStm = "SELECT REPLACE(LEFT(@@version,3), '.', '') version;"
            cursor.execute(versionStm)
            version = cursor.fetchone()[0]
            version = int(version)
			
            hostnameStm = "SELECT @@hostname;"
            cursor.execute(hostnameStm)
            hostname = cursor.fetchone()[0]
						
            if version >= 57 and "uller" not in hostname:
                query = """SELECT count(1) FROM mysql.user WHERE authentication_string =''"""
            else:
                query = """SELECT count(1) FROM mysql.user WHERE password =''"""

            cursor.execute(query)
            users = cursor.fetchone()[0]

            perfdata = "users={0}".format(users)
            if users >= 1:
                return [2, ' {0} users without password'.format(users), perfdata]
            else:
                return [0, 'OK: All users with password'.format(users), perfdata]

        else: #if grants == 0:
            return [2, 'CRITICAL: --skip-grant-tables ativo']