很多技巧从国外的paper学到的,不过国内没有多少人使用,所以发出来,笔记下~
一、order by 的参数注入技巧:
两种方法,思路都一样。
example. “select username,password from uc_members order by”.$_GET['oderby']
a.常见的利用方法:
1.[SQL] select username,password from uc_members order by 1,If((select 1)=2,1,(select value from uc_settings));
返回错误:[Err] 1242 – Subquery returns more than 1 row
阅读全文...
Mysql作为广泛应用的数据库系统,平时运维工作中对她的监控必不可少,现在把我对Mysql数据库的监控体会写成下文,欢迎拍砖。
无论是DBA或是SA,监控的目标都很明确,无外乎
1.快速的得到Mysql过去一段时间或者当前运行的状态
2.因硬件升级或者系统配置的改变而诊断对Mysql数据库性能影响
3.在Mysql数据库系统出现故障要能够及时收到告警
4.为日后编写运维报告提供各项数据指标供分析
5.……
想到了再做补充。而所有以上这些目的,通过各种方法和手段都可以做到。
自从Mysql数据库系统启动并且提供服务,Mysql内部自身的一套“计数器”就开始工作,可以通过
Show Global Status , Show global variables ,Show full processlist
得到Mysql数据库系统当前各种系统变量和状态 ,并且后文介绍个各种监控工具几乎都是对这三个指令的输出
进行数据的计算和统计分析。
阅读全文...
下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下! 打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面:

mysql安装向导启动,按“Next”继续
阅读全文...
今天为论坛进行服务器空间的转移~~~先顺利将Mysql数据库用phpmyadmin导出~~
然后在新服务器上建好数据库后,然后进行导入!可是因为MySQL数据库的.sql文件大于2MB。所以在导入时就提示说超过2048KB的错误,不让导入….于是就引出了此文的解决办法,呵呵
解决办法:
阅读全文...
1、前言
MySQL是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的 分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL数据库的程序,特别是 与PHP更是黄金组合,运用十分广泛。
由于MySQL是多平台的数据库,它的默认配置要考虑各种情况下都能适用,所以在我们自己的使用环境下应该进行进一步的安全加固。作为一个MySQL的系统管理员,我们有责任维护MySQL数据库系统的数据安全性和完整性。
MySQL数据库的安全配置必须从两个方面入手,系统内部安全和外部网络安全,另外我们还将简单介绍编程时要注意的一些问题以及一些小窍门。
2、系统内部安全
首先简单介绍一下MySQL数据库目录结构。MySQL安装好,运行了mysql_db_install脚本以后就会建立数据目录和初始化数据库。如果 我们用MySQL源码包安装,而且安装目录是/usr/local/mysql,那么数据目录一般会是/usr/local/mysql/var。数据库 系统由一系列数据库组成,每个数据库包含一系列数据库表。MySQL是用数据库名在数据目录建立建立一个数据库目录,各数据库表分别以数据库表名作为文件 名,扩展名分别为MYD、MYI、frm的三个文件放到数据库目录中。
MySQL的授权表给数据库的访问提供了灵活的权限控制,但是 如果本地用户拥有对库文件的读权限的话,攻击者只需把数据库目录打包拷走,然后拷到自己本机的数据目录下就能访问窃取的数据库。所以MySQL所在的主机 的安全性是最首要的问题,如果主机不安全,被攻击者控制,那么MySQL的安全性也无从谈起。其次就是数据目录和数据文件的安全性,也就是权限设置问题。
从MySQL主站一些老的binary发行版来看,3.21.xx版本中数据目录的属性是775,这样非常危险,任何本地用户都可以读数据目录,所以数 据库文件很不安全。3.22.xx版本中数据目录的属性是770,这种属性也有些危险,本地的同组用户既能读也能写,所以数据文件也不安全。 3.23.xx版本数据目录的属性是700,这样就比较好,只有启动数据库的用户可以读写数据库文件,保证了本地数据文件的安全。
阅读全文...
MySQL权限详解:
一.权限表
mysql数据库中的3个权限表:user 、db、 host
权限表的存取过程是:
1)先从user表中的host、 user、 password这3个字段中判断连接的IP、用户名、密码是否存在表中,存在则通过身份验证;
2)通过权限验证,进行权限分配时,按照userdbtables_privcolumns_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身份登陆执行各种命令。)
阅读全文...
discuz是很不错的论坛,大站用他的话还得有针对性的优化下mysql,转载开始。
作/译者:叶金荣,来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究。
一. 前言
近日由于需要,对discuz论坛(简称dz)进行优化,当然了,只是涉及到数据库的优化.
先说一下服务器及dz的数据量,2 * Intel(R) Xeon(TM) CPU 2.40GHz, 4GB mem, SCISC硬盘.
MySQL 版本为 4.0.23. 数据表情况:
cdb_attachments 2万
cdb_members 10万
cdb_posts 68万
cdb_threads 7万
二. 缓存优化
在 my.cnf 中添加/修改以下选项:
阅读全文...
来源:cnbird
blog:http://blog.csdn.net/cnbird2008
1.简介(文章中的堆查询其实就是联查)
这个文章主要描述怎样再LAMP和WAMP平台上实施远程命令执行代码通过SQL注入漏洞。攻击者再Mysql平台上进行SQL注入必须处理一
些限制和约束。例如,在一个不流行的平台中进行远程命令执行漏洞的一些查询语句缺乏复杂的声明,相对其他平台来说。再最近的这
些年一些人开始仔细研究,这些人专注于利用SQL注入漏洞进行随心所欲的代码执行漏洞。然而,这些类型的攻击集中在支持堆查询
DBMS连接上。这个文档将会解释怎么使用不同的方法去完成那些不支持堆查询的DBMS连接,并且得到跟支持堆查询的DBMS相同的结果
。
2.描述
SQL注入漏洞是把恶意代码注入到正常的SQL查询中的一种攻击方式.SQL注入攻击允许恶意的用户去得到数据库的结构和挖掘出宝贵的
应用操作系统环境。
运行命令执行漏洞已经被证实了是最高级别的恶意用户去获得成功的SQL注入攻击行为。
Mysql是在LAMP和WAMP上最流行的数据库服务器软件套件。DBMS连接默认是不支持堆查询。这就使得一些技术去实施远程代码执行漏
洞的条件是在某些平台需要支持堆查询。
3.堆查询
堆查询是一个去定义是否数据库连接层某个时刻能运行多于一个的查询语句。每个查询用分号分隔开。
下面的就是再SQL注入攻击中的一个堆查询的例子
SELECT name FROM record WHERE id = 1; DROP table record; DROP table address--
在上面的例子中,在同一时刻这里有三个分离的查询请求。第一个查询是来自现实中应用程序的正常查询。这个查询允许进行数据库
查询,然而当堆查询默认进入Mysql-php应用,一个错误信息将会被应用程序返回,同时没有任何语句被执行。
阅读全文...
来源:T00LS
MySQL 利用工具.
连接对方的MySQL后,可以上传文件,执行dos命令.以及下载文件并运行.
软件需要 Microsoft .NET Framework 2.0 支持
无法打开软件请安装 Microsoft .NET Framework 2.0
Microsoft .NET Framework 2.0 下载地址:
http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=zh-cn
下载地址:mysqlhack.zip
上图:

以下语句具有和ROOT用户一样的权限。大家在拿站时应该碰到过。root用户的MYSQL,只可以本地连,对外拒绝连接。以下方法可以帮助你解决这个问题了,下面的语句功能是,建立一个用户为itpro 密码123 权限为和root一样。允许任意主机连接。这样你可以方便进行在本地远程操作数据库了。
CREATE USER 'itpro'@'%' IDENTIFIED BY '123';GRANT ALL PRIVILEGES ON *.* TO 'itpro'@'%' IDENTIFIED BY '123'WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
搞完事记得删除脚印哟。
DROP USER 'itpro'@'%';
DROP DATABASE IF EXISTS `itpro` ;
最近评论