SQL注入的防御

应用层防御

1、应用层防御的目标

(1)SQL注入的本质原因是应用层的问题

(2)SQL注入应用层防御的目标是修复SQL所有可能的漏洞,做好事前的防范

2、过滤SQL注入基本字符

’ 或者 " :字符串闭合

– 或者 # :单行注释

/* */ :多行注释

+:加号,URL中替换空格拼接字符

concat :字符拼接

% :通配符

?Param1=foo&Param2=bar :url参数

select :url打印常量等

@variable :本地变量

@@variable:全局变量

sleep 10:睡眠10秒

3、过滤SQL关键字(保留字)

4、URL传参的整体加密

系统层防御

1、系统层防御的目标

(1)SQL注入的本质原因不是由系统层的问题

(2)系统层的防御是辅助的作用,是预防SQL注入与系统层交互提权,预防SQL注入权限的进一步扩大,使得SQL注入在系统层无所作为。

2、系统层防御的方法

(1)Iptables限制只允许特顶的服务器IP和端口登录

(2)使用应用防火墙对SQL注入拒绝waf

(3)数据库安全中间件,如greenSQL,安全狗等

数据库层防御

1、数据库层防御目标

(1)SQL注入的本质原因并不是数据层的问题

(2)数据库层防御的目标是辅助性的,预防SQL注入在数据层交互提权,防止SQL注入成功后权限和数据泄露进一步扩大。

2、SQL权限的最小化原则

(1)程序连接的权限分配以最小化为原则,能省就别大方

(2)如大多数据程序连接都是以select,insert,update和delete权限,那么就只给这些权限。这样,对于读取系统层文件所需要的FILE权限就没有,那么与系统层交互提权的路径就被堵上了,使得SQL注入无所作为。

3、数据库层设计规范化要求

SQL注入-05-防御修复建议相关推荐

  1. 什么是SQL注入,防御、绕过

    SQL注入漏洞 什么是SQL注入? SQL注入是因为web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先构造SQL语句,实现非法操作,从而实现对后台数据库的恶意操作 ...

  2. 【转】SQL注入攻击防御深层思考

    当所有的系统安全防御做好后,剩下恐怕就是SQL注入,跨站攻击等等web应用层防御了,这也是广大站长最困扰的东东了,几日前写的"安全宝构架技术猜测与高级网络安全防御 "讲解了一种最简 ...

  3. 如何修复会话固定漏洞_PHP安全漏洞:会话劫持,跨站点脚本,SQL注入以及如何修复它们...

    如何修复会话固定漏洞 PHP中的安全性 (Security in PHP) When writing PHP code it is very important to keep the followi ...

  4. sql注释符注入防御_读《SQL注入***与防御》笔记

    ' //单引号报错,转义 %bf%5c%27 //宽字节注入,数据库编码为GBK时,%bf%5c认为是一个字节,绕过PHP正则 UNION ALL SELECT LOAD_FILE('/etc/pas ...

  5. SQL注入——SQL注入具体防御方案

    1.GPC/RUNTIME魔术引号 magic_quotes_gpc负责对GET,POST,COOKIE的值进行过滤. magic_quotes_runtime对从数据库或者文件中获取的数据进行过滤. ...

  6. 【SQL注入-05】布尔盲注案例

    目录 1 概述 2 操作环境 3 操作具体步骤 3.1 判断是否存在注入点及注入的类型 3.2 测试数据库库名长度 3.3 逐个测试数据库库名的字符 3.4 测试该数据库中所有表名 3.5 测试use ...

  7. php sql漏洞修复,php sql注入漏洞与修复

    出于安全考虑,需要过滤从页面传递过来的字符. 通常,用户可以通过以下接口调用数据库的内容:URL地址栏.登陆界面.留言板.搜索框等. 轻则数据遭到泄露,重则服务器被拿下. 一.SQL注入的步骤 a) ...

  8. nodejs mysql 注入_node.js sql 注入攻击防御方法 (sql Injection)

    sql 注入的原理和方法应该都知道了,这里记录一下node-mysql提供的现成的api https://github.com/felixge/node-mysql node-mysql 提供了接口 ...

  9. SQL注入相关防御及破解方法

    相关防御: 1.魔术引号 magic_quotes_gpc=on 如果开启了魔术引号(注意,php5.4之后的版本就没有魔术引号了),可能导致注入出现一点问题(魔术引号会自动将部分注入符号进行转义,导 ...

最新文章

  1. 吴恩达Drive.ai因经营困难“卖身”苹果
  2. 【PAT乙级】1028 人口普查 (20 分)
  3. go项目部署到linux服务器
  4. kettle使用数据库来生成序列_kettle专题5:数据转换
  5. Java中的ASCII码与Unicode码
  6. 卷积神经网络在tenserflow的实现
  7. Facebook将偷来的3D对象数据库用于其AI项目:被诉讼
  8. 管家婆打印模板设置_B端移动设计 | 打印配置
  9. 相机焦距与视场角FOV
  10. qq空间自动评论说说php源码使用教程,仿QQ空间说说 评论/回复 效果源码
  11. 计算机关机慢怎么解决方法,电脑关机很慢,详细教您win7电脑关机很慢的解决方法...
  12. 在ODBC 中 应 用DDX 和RFX (转)
  13. 贾扬清官宣:从阿里离职,或将投身AI创业!
  14. 使用微信小程序editor富文本编辑器(爬坑要点)
  15. 迅龙中文搜索 0.7 nSearch版 C# 源代码下载
  16. MATLAB R2019a绘制时序数据小波方差图[新手向/保姆级]
  17. 收藏的一些幽默搞笑文章
  18. 引用腾讯视频 php代码,调用腾讯视频播放器APi代码
  19. 东汉末年的事态格局的变迁原因即三国各个厉害角色的性格中的底层原因分析
  20. bind的原理和bind的实现

热门文章

  1. Qt程序获取管理员权限
  2. 360环物如何发布html,制作网页上的360度旋转全景图PixMaker使用详细教程
  3. 厦门大学 数据库实验室(林子雨)
  4. MATLAB取整运算
  5. win10下安装并启动zookeeper
  6. 高校物资采购管理系统
  7. 阿里巴巴第三方接口发送短信验证码
  8. Python3 基础语法介绍
  9. Vuex4 for Vue3调用
  10. matlab统计文本数据画直方图,matlab从txt中读取某列数据画直方图