标题 简介 类型 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2024-3322]   作者: ShYLie 发表于: [2023-08-25]

本文共 [271] 位读者顶过

  1. SQL注入漏洞
    攻击者利用web应用程序对用户输入验证上的疏忽,在输入的数据中包含对某些数据库系统有特殊意义的符号或命令,让攻击者有机会直接对后台数据库系统下达指令,进而实现对后台数据库乃至整个应用系统的入侵。[出自:jiwo.org]
  2. SQL注入原理
    服务端没有过滤用户输入的恶意数据,直接把用户输入的数据当中SQL语句执行,攻击者从而获得数据库中的数据,影响数据库安全和平台安全。
    实现SQL注入的两个条件:
    用户能够控制输入
    原本程序要执行的SQL语句,拼接了用户输入的恶意数据
  3. SQL注入过程



  4. SQL注入带来的危害
    绕过登录验证:使用万能密码登录网站后台等;
    获取敏感数据:获取网站管理员账号/密码等;
    文件系统操作:列目录、读取、写入文件等;
    注册表操作:读取、写入、删除注册表;
    执行系统命令:远程执行命令。
  5. 防御措施
    (1)sql 语句预编译和绑定变量。
    (2)所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到 SQL 语句中。当前几乎所有的数据库系统都提供了参数化 SQL 语句执行接口,使用此接口可以非常有效的防止 SQL 注入攻击。
    (3)对进入数据库的特殊字符( ’ <>&*; 等)进行转义处理,或编码转换。
    (4)确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的存储字段必须对应为 int 型。
    (5)数据长度应该严格规定,能在一定程度上防止比较长的 SQL 注入语句无法正确执行。
    (6)网站每个数据层的编码统一,建议全部使用 UTF-8 编码,上下层编码不一致有可能导致一些过滤模型被绕过。
    (7)严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害.
    (8)避免网站显示 SQL 错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。

评论

暂无
发表评论
 返回顶部 
热度(271)
 关注微信