• SQL注入简介


    今天继续给大家介绍渗透测试相关知识,本文主要内容是SQL注入简介。

    免责声明:
    本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
    再次强调:严禁对未授权设备进行渗透测试!

    在今天的文章中,不会介绍SQL注入一些最基本的知识和原理,而是面向对SQL注入有一定基础的同学,介绍SQL注入的一些小知识点,加深对SQL注入漏洞的理解。

    一、SQL注入漏洞危害

    SQL注入漏洞,其危害有两点:
    1、大部分可以对数据库中数据造成影响。
    2、少部分可以直接写入后门以获取网站权限,或者是读取指定文件的内容。
    我们在进行SQL注入时,经常会忽略第二点。

    二、SQL注入产生条件

    简单来说,SQL注入产生条件如下:
    1、存在可控变量
    2、会带入数据库进行查询
    3、变量中不存在过滤或者过滤不严格

    三、SQL注入信息收集

    我们在进行SQL注入时,首先要进行的是收集目标系统的信息,信息包括以下方面:
    1、数据库版本
    2、数据库名
    3、用户名
    4、操作系统
    我们可以分别使用四个函数(变量)来查询上述信息,即version()、user()、database()、@@version_compile_os。
    我们收集这些信息,有助于我们进行下一步的渗透。
    例如,我们收集到数据库的用户,如果是root,那么通常我们就获得了对整个数据库的权限,可以查询其他数据库的相关数据;如果不是root,那么对数据库的相关操作就会收到影响。

    四、SQL注入版本问题

    在MySQL5.0及以上版本的数据库中,MySQL会自带一个information_schema的数据库,该数据库内存储了MySQL数据库中所有的库、表和字段信息,利用该表,我们就可以查询整个数据库的库表结构,更方便的查询数据库中的数据。
    然而,在MySQL5.0以下版本的数据库中,MySQL数据库则没有该数据库,那么我们就必须采取暴力破解的方式,来猜解可能的数据库名、表名和字段名。或者是想办法获取网站配置或者源码,从而获得相关信息。
    在这里插入图片描述
    原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 相关阅读:
    GB/T 26518-2023 高分子增强复合防水片材检测
    Attention-based LSTM for Aspect-level Sentiment Classification
    C++基类与派生类构造和析构顺序以及虚函数的调用
    AD - 将修改后的 PCB 封装更新到当前 PCB 中
    python进阶练习
    openpyxl学习
    pandas merge 和 concat
    秋招面试题系列- - -Java 工程师(二)
    vue3中使用return语句返回this.$emit(),在同一行不执行,换行后才执行,好奇怪!
    学习突围2 - 关于高效学习的方法
  • 原文地址:https://blog.csdn.net/weixin_40228200/article/details/125362929