zoukankan      html  css  js  c++  java
  • SQL注入的原理与相关知识点

    题记

           最近总是这样,每当我和他四目相交,目光总会先躲开一次,然后再次相视。 ------------青春之旅

    注意

      登录后台可以试试万能密码' or !false --

          原理:当客户端提交的数据 未做处理或转义直接带入数据库就造成了SQL注入。

          注入分为2大类

                  1.整型(没有单双引号)

                  2.字符串(有单双引号)

    1、SQL注入的原理

            SQL注入的漏洞产生必须满足以下两个条件

                  ①参数用户可控:前端传给后端的参数内容是用户可以控制的。

                  ②参数代入数据库查询:传入的参数拼接到SQL语句,并且代入到数据库查询。

    2、与MySQL注入相关的知识点

             在MySQL5.0之后的版本,MySQL默认在数据information_schema的数据数据库。在改数据库中我们需要记住三个表名,schemata,tables,columns。

    Schemata表存储用户创建的所有的数据库的库名,我们需要记住schema_name字段。

            Tables表存储所有数据库名和表名。

                Columns表存储所有的数据库名、表名和字段名

       

    3、常用MySQL常用语句

            Select 要查询的字段 from 库名.表名 where 字段名=值 and 字段名2=值

            单行注释,#后面直接加内容 、 -- 后面直接加内容

            多行注释,/**/中间可以跨

             union联合查询:union操作符用于拼接两个或者多个select查询语句。union中前后2个查询必须拥有相同的列数。

             order by num语句: 默认按照升序进行排列

    3.1、常用的函数

             user()   当前用户名

            database()  当前所用数据库

            version()     数据库的版本

    3.2、字符串连接函数

            1、concat(str1,str2..)直接连接

            2、group_concat(str1,str2)使用逗号作为分隔符

            3、concat_ws(sep,str1,str2)函数使用第一个参数作为分隔

            4、substr() substr(string string,num start,num length);

            5、LENGTH(str)返回字符串str的长度,以字节为单位

  • 相关阅读:
    垃圾收集器
    垃圾回收机制算法分析
    【kinetic】操作系统探索总结(六)使用smartcar进行仿真
    【kinetic】操作系统探索总结(五)创建简单的机器人模型smartcar
    VS2015配置环境支持opencv3库(网络方法总结)
    【超级经典】程序员装B指南(转)
    shell编程-bash教程入门
    GraduateDesign-给APP添加获取位置信息和天气预报的功能(json)
    GraduateDesign-初试APP编写(去除虚拟按键和禁止状态栏下拉)
    device_create为何可以在/sys/class/具体类/属性文件?怎么实现的
  • 原文地址:https://www.cnblogs.com/sunny11/p/13572731.html
Copyright © 2011-2022 走看看