zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

数据库与服务器安全选项拾遗

数据库服务器安全 选项 拾遗
2023-09-11 14:20:34 时间
之前总结过sql注入的一些特征。这里总结一下数据库的内部特征。和安全选项。 MySQL 权限划分 mysql用户的权限,大体来说比较简单,分别存储于这几个表中 mysql.User,mysql.db,mysql.Host,mysql.table_priv,mysql.column_priv 因为存取频繁,所以这几个表的数据存在内存中,更新数据后使用,语句来进行内存更新 当然执行这个命令需要reload权限 FLUSH PRIVILEGES 用户登录时需检查,mysql.user中的user host pass 三个字段,如果允许任何主机外部链接可以吧host设置成% 用户登录通过后,mysql会自上而下的检查用户权限,首先在mysql.user中读取对应用户的权限。 其中关于用户权限的字段大概有这些,除去一些常规的不表,比较重要的是 file_priv 这个影响到了mysql读写文件的利用 grant_priv 的用户可以吧自己拥有的权限付给其他用户 process_priv 的用户可以通过SHOW PROCESSLIST查询所用用户的查询进程并kill,普通用户只可以查询自己的 super_priv的用户允许改变set变量,修改用户查询
另外 super file 等管理权限后面不能加数据库,只能以这种形式授权 grant super on *.* to xxx@xxxxx; 而select等增删改查的权限,可以指定数据库来添加 grant select on pyt.* to ‘p1′@’localhost’; 其中最低的权限是usage权限,相当于只有一个连接的权限。使用create user 建立的用户,默认为usage权限 但是此权限貌似有information_schema表的select权限,其中host为允许连接的主机名 CREATE USER username@host IDENTIFIED BY password 查询一个用户的权限只需要 CREATE USER username@host IDENTIFIED BY password 安全选项 mysql启动的时候,也有一些安全选项,可以起到提高mysql安全性的功能 具体可以看官方文档 http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_allow-suspicious-udfs 死四个安全选项 http://database.51cto.com/art/201005/199939.htm 提高安全设置 http://www.mianwww.com/html/2009/02/2926.html 六个安全选项 http://news.zdnet.com.cn/zdnetnews/2008/0124/718026.shtml 关于安全的文档 http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html 安全选项 Safe Mode 这个选项也是php常用的安全选项,开启他之后服务器会对文件读写,执行文件,改变php环境变量,文件包含等功能进行比较严格的限制。 文件读写 开启SafeMode之后,如果进行读写文件操作PHP检查当前用户是否是文件所有者,如果php被分配到一个比较低权限的账户,读写文件会比较困难。 以下这些函数会受到影响 chdir , move_uploaded_file, chgrp, parse_ini_file, chown, rmdir, copy, rename, fopen, require, highlight_file, show_source, include, symlink, link, touch, mkdir, unlink 运行文件执行系统命令 在执行系统命令的时候,只有safe_mode_exec_dir这个文件夹下的程序可以被执行。执行的指令会发送给escapeshellcmd进行过滤。 受影响的函数 exec, shell_exec, passthru, system, popen 另外,重音符也会被禁止。 环境变量 改变环境变量的函数也会被禁止 putenv,set_time_limit, set_include_path 如果想设置安全模式下可以改变的环境变量,需要这样safe_mode_allowed_env_vars 文件包含 文件包含的话同样也是需要safe_mode_include_dir来设定目录 expose_php 这个安全选项,会防止response包中泄露PHP版本信息,比如包头信息中通常会包含 Server: Apache/1.3.33 (Unix) PHP/5.0.3 mod_ssl/2.8.16 OpenSSL/0.9.7c 但如果expose_php开启的话,PHP的版本信息将不包含在上面的头信息里。 AddType application/x-httpd 有的时候你可能会觉得php的后缀不过瘾,那么可以在httpd.conf 中找到 AddTYpe这行,添加可供解析的后缀名。 AddType application/x-httpd .html .htm .txt .asp 这种方法也可以用来留后门。 open_basedir 这个选项可以规定用户只可以访问规定目录内的文件,这个选项并不和safe mode冲突 disable_functions 这个选项可以用来禁用一些函数 disable_functions = eval 当然,同样的你能够使用 disable_classes 选项来关闭对一些类的访问。 magic_quotes_gpc 大家常说的加引号的选项。 display_errors 大家常说的显错,如果被关闭的话,那就只能盲注啦~。也可以通过log_errors设置输出到文件。 最新内容请见作者的GitHub页:http://qaseven.github.io/
WordPress搬家常见经典错误-数据库导入失败的解决办法 很多新手站长们在做wordpress安装或者是搬家原来有的数据库,导入导出之后经常出现一些导入失败的情况,这里介绍一下因为数据库版本不同导致的常见经典错误之一-WordPress 导入数据库报错 Unknown collation: utf8mb4_unicode_520_ci 的解决办法;
参考文献:https://www.kancloud.cn/manual/thinkphphttps://www.jianshu.com/p/ef3ee8260b2d www WEB子目录 ├─index.php 入口文件 ├─README.md README文件仅用于说明,实际部署的时候可以删除。
这些天,一些UP主惊讶地发现,在一款自己从未使用过的视频网站上,出现了自己的视频和同样用户的ID。