• 【网络安全】SQL注入专题讲解


    一、SQL注入概念、分类、形成原因

    1、SQL注入概念

           所谓SQL注入,就是利用现用的应有程序的特性,攻击者通过在Web表单,URL等可输入数据的地方插入(恶意)SQL语句一并原有的SQL语句被代库执行。SQL命令就是前端应用程序和后端数据库之间的接口。

    2、SQL注入的危害

         > 数据库库敏感信息泄露

         > 网页被篡改,挂马

         > 数据库被恶意操作

         >  服务器被远程控制,被安装后门

          .......

      3、SQL注入常见分类 

         (1)按数据类型

         > 数字形

         >  字符型

         (2)按返回结果

         > 显错注入

         >  盲注(Boolean/Time-Based Blind)

         

    4、SQL注入形成

         > 数据与代码未严格分离

         >  用户提交的参数数据未做充分的检查过滤即被带入到SQL命令中,改变了原有SQL命令的语义,且成功被数据库执行。

     5、SQL注入过程       

              

      6、SQL注入在渗透测试过程中的作用

         > 绕过登录验证:使用万能密码登录网站后台等

         > 获取敏感数据:获取网站管理员账号密码等

         > 文件系统操作:列目录,读取,写入文件等

         > 注册表操作:读取,写入,删除注册表等

         > 执行系统命令:远程执行命令

    二、SQL注入常见利用方式、寻找方式、判断依据

      1、SQL注入漏洞频繁出现位置  

     

      2、SQL注入漏洞如何寻找

          (1) 使用工具

            > 优点:自动化,范围广,效率高

            > 缺点:误报,漏报,测试方法有限。

          (2) 手工测试

            > 优点:测试方法灵活

            > 缺点:效率低,范围窄,因测试者水平而已

      3、SQL注入漏洞判断依据

          (1) 常用工具
             Safe3wvs ,BurpSuite,AppScan,AWVS,

          (2) 判断依据

     

      4、常见SQL测试语句和技巧

          (1) 常用语句

           (2) 注释字符

     

    三、SQLSverver数据库注入实例演示 

    1、SQLServer注入常见测试语句

     

     

    2、SQLServer手工注入实例演示

      构造        SQL注入语句,

     发现返回结果符合预期,说明存在SQL注入漏洞

    验证是否为sqlserver数据库

    返回正常界面,说明是sqlserver数据库 

  • 相关阅读:
    在 Spring Boot 中使用 JDBI
    安装和配置Maven,IDEA中配置Maven
    23种设计模式 - C++实现
    Linux 服务器使用过程中,mysql突然不能用了,报如下错误
    开放式激光振镜运动控制器:C++ 快速调用图形库应用
    【大数据与云计算】实验作业
    VUE获取当前日期的周日和周六
    第一季:5递归与迭代【Java面试题】
    如何实现企业软件的“超级 App 化”?
    kafka(一:分区数据不均衡(数据倾斜),分区分配策略)
  • 原文地址:https://blog.csdn.net/qq_41982304/article/details/126688630