Sql注入基本思路
利用mysql自己动手
登录
使用show databases;
查看数据库,sql注入主要用到的是information_schema这个库(mysql中大小写不敏感)
information_schema数据库是MySQL系统自带的数据库,它提供了数据库元数据的访问方式。感觉information_schema就像是MySQL实例的一个百科全书,记录了数据库当中大部分我们需要了结的信息,比如字符集,权限相关,数据库实体对象信息,外检约束,分区,压缩表,表信息,索引信息,参数,优化,锁和事物等等。通过information_schema我们可以窥透整个MySQL实例的运行情况,可以了结MySQL实例的基本信息,甚至优化调优,维护数据库等,可以说是真正的一部百科全书啊哈哈。
--十分钟了结MySQL information_schema
使用show tables;
查看information_schema中的表
sql注入中主要用到的是schemata、tables、columns这三个表
查看schemata,我们可以通过schema_name获取数据库的名字
再来看tables,可以用table_schema来限制是哪个库里的表,可以获取table_name后用来限制要爆的列所属的表
最后看columns,因为当中内容太多了,所以我只提取了前三项纪录,table_schema来查看所属表,我们主要需要获取的是column_name
这样的话,我们就可以串一下sql手注的大概流程:
1、首先使用database()函数得到库名,或者去information_schema.schemata表查询schema_name
2、然后去information_schema.tables表利用table_schema查询table_name
3、接着去information_schema.columns表利用table_name查询column_name
4、最后select column_name from table_name就行了