• 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

  • 相关阅读:
    IDEA2022开发Java Web Servlet程序
    从智能家到智慧家!一字之差看到三翼鸟落地差异化
    2 个python美化表格数据输出结果的工具,摸鱼简直心安理得~
    Virtio1.2 新功能介绍
    etcd的安装和使用
    基于stm32的胰岛素泵
    论webpack
    Postman设置全局变量和传参
    Linux项目自动化构建工具-make/Makefile的打字练习
    C# 超好用的自定义异形窗体
  • 原文地址:https://blog.csdn.net/weixin_40228200/article/details/125362929