12.SQL注入之简要SQL注入

文章目录

  • 前言
  • 知识点
    • 忍者安全测试系统
    • SQL注入安全测试中的危害
    • SQL注入产生原理详细分析
    • 数据库分类
    • 如何判断注入点?
    • 必要知识点
    • 流程
      • 判断注入
      • 猜列名数量(字段数)
      • 报错猜解准备
      • 信息收集
  • 案例演示

前言

在本系列课程学习中,SQL 注入漏洞将是重点部分,其中 SQL 注入 又非常复杂,区分各种数据库类型,提交方法,数据类型等注入,我们需 要按部就班的学习,才能学会相关 SQL 注入的核心。同样此类漏洞是WEB 安全中严重的安全漏洞,学习如何利用,挖掘,修复也是很重要的。

12.SQL注入之简要SQL注入_第1张图片

知识点

12.SQL注入之简要SQL注入_第2张图片

忍者安全测试系统

SQL注入安全测试中的危害

SQL注入产生原理详细分析

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

数据库分类

网站A
表名->列名->数据

网站B

如何判断注入点?

老办法:

and 且
or 或
xor 非

and 1=1 正确

and 1=2 错误

新方法:

id=1asdfwefrga

id=1页面不一样的话,说明输入的乱符影响了查询数据库

说明有注入点

有可能报错404,跳转页面,这部分是没有漏洞的

必要知识点

在MYSQL5.0以上版本中,mysql存在一个自带数据库名为information_schema,它是一个存储记录所有数据库名,表名,列名的数据库,也相当于可以通过查询它获取指定数据库下面的表名和列名信息。

数据库中,符号“.”代表下一级,如12.3表示123数据库下的3表名

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

tables_name:表名
columns_name:列名

流程

判断注入

猜列名数量(字段数)

order by x 错误与正常的正常值

报错猜解准备

id=-1

信息收集

数据库版本 version()
名字 database()
用户 user()
操作系统 @@version_compile_os

案例演示

简易代码分析 SQL 注入原理


id=-1 union select 1,2,3 from emails

Sqlilabs 注入靶场搭建简要使用

sqli-labs

墨者靶机真实 MYSQL 注入演示

你可能感兴趣的:(小迪安全培训视频笔记,安全笔记)