• sql注入原理及解决方案


    sql注入原理

    sql注入原理就是用户输入动态的构造了意外sql语句,造成了意外结果,是攻击者有机可乘

    SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。

    根据相关技术原理,SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配置或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。基于此,SQL注入的产生原因通常表现在以下几方面:①不当的类型处理;②不安全的数据库配置;③不合理的查询集处理;④不当的错误处理;⑤转义字符处理不合适;⑥多个提交处理不当。

    sql注入危害

    • 数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。
    • 网页篡改:通过操作数据库对特定网页进行篡改。
    • 网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。
    • 数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被窜改。
    • 服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。
    • 破坏硬盘数据,瘫痪全系统。

    sql注入解决方案

    1.参数验证

    2.特殊字符过滤

    3.使用参数化语句,不要拼接sql

    4.编码输出

    5.平台过滤

    总之就是要做好过滤与编码并使用参数化语句,这样sql注入漏洞基本能够解决呢

  • 相关阅读:
    Python中的函数介绍
    Python中对文件和目录的操作
    Centos7上vsftp脚本--> sh vsftp.sh 用户名 密码 --> sh vsftp.sh install
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '***' (2)
    re模块
    模块导入
    装饰器
    内置函数 Ⅱ
    内置函数 Ⅰ
    迭代器、生成器
  • 原文地址:https://www.cnblogs.com/huzi007/p/6370732.html
Copyright © 2020-2023  润新知