小迪安全day12WEB漏洞-SQL注入之简要SQL注入

小迪安全day12WEB漏洞-SQL注入之简要SQL注入

注入产生原理详细分析

  • 可控变量
  • 带入数据库查询
  • 变量未存在过滤或过滤不严谨

连接符区分

and是sql语句连接符,&是uel参数连接符

and 1=1是注入语句, &是添加一个新变量

数据库内容

数据库A = 网站A

​ 表名

​ 列名

​ 数据

必要知识点

  • 在MySQL5.0以上版本中,MySQL存在一个自带数据库名为information—schema(模式),它是一个存储所有数据库名,表名,列名的数据库,也相当于可以通过查询它获取值指定数据库下面的表名和列名信息。

  • 数据库中符号" . "代表下一级,如xiao.user表示xiao数据库下的user表名

  • information_schema.tables:记录所有表名信息的表

    information_schema.columns:记录所有列名信息的表

    table_name:表名

    column_name:列名

    table_schema:数据库名

如何判断注入

  • 老方法

    and 1=1 页面正常

    and 1=2 页面错误

  • 联合注入

    • 猜解列名数量(字段数)order by 4

      错误与正常的临界点

    • 报错猜解准备

      union select 1,2,3,4

    • 猜解多个数据可以采用limit x,1 变动猜解

  • 信息收集

    用信息收集对应的函数可以代替联合注入中猜解的数字

    数据库版本:version()

    数据库名字:database()

    数据库用户:user()

    操作系统:@@version-compile_os

你可能感兴趣的:(小迪安全,sql,安全,数据库)