易截截图软件、单文件、免安装、纯绿色、仅160KB

转载:关于MYSQL语句存在注入漏洞的写法


转载:关于MYSQL语句存在注入漏洞的写法
 
 
本文作者:angel
文章性质:原创
发布日期:2004-09-16
本文已经发表在《黑客防线》7月刊,转载请注明。由于写了很久,随着技术的进步,本人也发现该文里有不少错误和罗嗦的地方。请各位高手看了不要笑。本文写于《Advanced SQL Injection with MySQL》之前一个月。
声明
  本文仅用于教学目的,如果因为本文造成的攻击后果本人概不负责,本文所有代码均为本人所写,所有数据均经过测试。绝对真实。如果有什么遗漏或错误,欢迎来安全天使论坛(http://www.4ngel.net/forums)和我交流。
前言
  2003年开始,喜欢脚本攻击的人越来越多,而且研究ASP下注入的朋友也逐渐多了起来,我看过最早的关于SQL注入的文章是一篇99年国外的高手写的,而现在国外的已经炉火纯青了,国内才开始注意这个技术,由此看来,国内的这方面的技术相对于国外还是有一段很大差距,话说回来,大家对SQL注入攻击也相当熟悉了,国内各大站点都有些堪称经典的作品,不过作为一篇完整的文章,我觉得还是有必要再说说其定义和原理。如果哪位高手已经达到炉火纯青的地步,不妨给本文挑点刺。权当指点小弟。
关于php+Mysql的注入
  国内能看到php+Mysql注入的文章可能比较少,但是如果关注各种WEB程序的漏洞,就可以发现,其实这些漏洞的文章其实就是一个例子。不过由于国内研究PHP的人比研究ASP的人实在少太多,所以,可能没有注意,况且PHP的安全性比ASP高很多,导致很多人不想跨越这个门槛。
  尽管如此,在PHP站点日益增多的今天,SQL注入仍是最有效最麻烦的一种攻击方式,有效是因为至少70% 以上的站点存在SQL Injection漏洞,包括国内大部分安全站点,麻烦是因为MYSQL4以下的版本是不支持子语句的,而且当php.ini里的 magic_quotes_gpc 为On 时。提交的变量中所有的 ' (单引号), " (双引号), \ (反斜线) and 空字符会自动转为含有反斜线的转义字符。给注入带来不少的阻碍。
  早期的时候,根据程序的代码,要构造出没有引号的语句形成有效的攻击,还真的有点困难,好在现在的技术已经构造出不带引号的语句应用在某些场合。只要有经验,其实构造有效的语句一点也不难,甚至成功率也很高,但具体情况具体分析。首先要走出一个误区。
注:在没有具体说明的情况下,我们假设magic_quotes_gpc均为off。
php+Mysql注入的误区
  很多人认为在PHP+MYSQL下注入一定要用到单引号,或者是没有办法像MSSQ


相关文档:

Linux 编译安装 MYSQL 5.1 与 Innodb

Linux 编译安装 MYSQL 5.1 与 Innodb
编译mysql5
代码:
./configure \
--prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock \
--with-extra-charsets=all \
--with-charset=utf8 \
- ......

JDBC+MySQL连接池

1.创建一个java project项目pooling
2.为项目添加MySQL连接驱动
3.为项目添加一个配置文件dbpool.proprerties
Code
driverClassName=com.mysql.jdbc.Driver
username=root
password=
url=jdbc:mysql://localhost:3306/work
poolSize=10
 
4.分别创建一个连接类ConnectionPool.java和一个测试类ConnectionPoo ......

explaination of mysql/bin/ file

1      innochecksum
     
 
5       msql2mysql
6       myisamchk
7       myisam_ftdump
8       myisamlog
9 &nbs ......

Mysql数学函数解析

所有的数学函数在一个出错的情况下返回NULL。 

单目减。改变参数的符号。 
mysql> select - 2; 
注意,如果这个操作符与一个BIGINT使用,返回值是一个BIGINT!这意味着你应该避免在整数上使用-,那可能有值-2^63! 
ABS(X)
返回X的绝对值。 
mysql> select ABS(2);&n ......

mysql 常用举例

drop table student;
create table student
(sno   int   not null unique,
 sname varchar(8) not null,
 ssex  char(2)    not null,
 sage int ,
 sdept varchar(20));
 
 select * from student;
 alter table student drop uniq ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号