zoukankan      html  css  js  c++  java
  • 【网络空间安全】SQL Injection_SQL 注入..

    SQL 注入漏洞

    攻击者利用 web 应用程序对用户输入验证上的疏忽,在输入的数据中包含对某些数据库系统有特殊的意义的符号和命令,让攻击者有机会直接对后台数据库下达指令,进而实现对后台数据库乃至整个应用系统的入侵。

    • 掌握SQL注入
    1. 数据库分类
    2. SQL注入
    3. 实现

    数据库分类

    当今数据库模型主要分为两种,即关系型数据库和非关系型数据库。

    关系型数据库

    把复杂结构归结为简单的二元关系(即二位表格形式),通过SQL结构化查询语句存储数据,保持数据一致性,遵循ACID理论(即原子性,一致性,隔离性,持久性),例如MySQL、SQL Server、Oracle

    非关系型数据库

    被称为NoSQL数据库,在特定的场景下可以发挥难以想象的高效率和高性能,例如:memcaahed、redis、mongodb

    SQL注入

    SQL注入原理

    SQL注入攻击的本质,服务器没有过滤用户输入的恶意数据,直接把用户输入的数据当作SQL语句执行,从而影响数据库安全和平台安全。

    SQL注入的本质

    对于输入检查不充分,导致SQL语句将用户提交的非法数据当作语句的一部分来执行。

    两个条件

    1. 用户能够控制输入
    2. 原本程序要执行的SQL语句,拼接了用户输入的恶意数据

    危害

    1. 绕过登陆验证:使用万能密码登陆网站后台;
    2. 获得敏感数据:获取网站管理员账号、密码;
    3. 文件系统操作:列目录、读取、写入文件;
    4. 注册表操作:读取、写入、删除注册表;
    5. 执行系统命令:远程执行命令

    造成原因

    1. 动态字符串构建引起
      不正确的处理转义字符(宽字节注入)、处理类型(报错泄露信息)、处理联合查询、处理错误(报错泄露信息)、处理多次提交(二次注入)
    2. 后台存在的问题
      后台无过滤或者编码用户数据、数据库可以拼接用户传递的恶意代码
    3. 错误信息处理不当
      详细的内部错误消息显示给用户或者攻击者、错误信息可以直接给攻击者提供下一步攻击帮助
    4. 不安全的数据库配置
    • 默认账户:使用默认账户进行数据库的操作管理
    • 权限:数据库安装好之后默认许可管理员权限,可以进行一切操作,但正确的做法应该是申请普通身份运行服务器上的服务,并降低用户权限,只限于本服务将此服务与本机其他服务隔离开来。

    了解了SQL注入,那么如何实现SQL注入?

    实现

    SQL注入分为自动化注入手工注入

    下边的工具是为自动化注入准备的

    全适配工具

    Sqlmap【属于SQL注入工具】

    单适配工具

    穿山甲注入软件 ; 海阳顶端注入软件【只适配于PHP注入】

    其他

    NBSI , 阿D注入【属于ASP JSP 注入工具 】 ; Havij ,Sqlid 【属于SQL注入工具】

    然后是手工注入的核心

    其过程大致可以总结为:

    1. 判断是否存在注入点;
    2. 判断字段长度;
    3. 判断字段回显位置;
    4. 判断数据库信息;
    5. 查找数据库名;
    6. 查找数据库表;
    7. 查找数据库表中所有字段以及字段值;
    8. 猜解账号密码;
    9. 登陆管理员后台。

    引用一句经典的话:SQL注入其实就是数据和代码抢活干

    多言无益,我先摆上一个几年前多数网站都有的漏洞

    在网站登陆界面输入用户名的时候
    直接输入SQL代码:‘whoever’;DROP TABLE users;
    其原理:
    首先执行第一条,分号为分割符,服务器返回错误,然后执行第二条,会删掉整个user表
    

    后期更新,讲SQL注入的其他实例…

    让对手感动,让对手恐惧
  • 相关阅读:
    day5 元组、列表、字典和集合
    day4 字符串类型和列表类型的详细caozu
    day3 数据类型
    预习
    python基础
    计算机基础——老年人上网冲浪手册
    pycharm操作指北
    day1 计算机基础知识
    Securing a Laravel API in 20 minutes with JWTs
    Testing Api using PHPUnit Laravel
  • 原文地址:https://www.cnblogs.com/RokoBasilisk/p/11780364.html
Copyright © 2011-2022 走看看