我们通过前面详细的网站注入过程,我们看到网站的所有信息,包括敏感信息,会全部的泄露出去,更有甚者数据库的后台,WEB后台都被注入者所控制,那么对于我们网站的管理维护者来说,是不希望看到的,接下来,我们将讲一下如何进行防御,所以,我们这篇文章先来探讨SQL注入应用层是如何来防御的

1.应用层防御的目标

1.SQL注入的本质原因是应用层的问题,不是数据库,也不是系统层的问题

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

2.过滤SQL注入基本字符

接下来,我们将讲一下,应用层应该如何防御,所以,我们要明确一个问题,应用层最起码过滤的SQL注入基本字符,把这部分过滤掉,而这部分SQL注入字符,也是我们,mysql黑客必备所掌握的基本内容

这些,我们在前面都已经接触过了

or “ 字符串闭合

包括单引号双引号闭合这种

– or # 单行注释

/*…*/   多行注释

单行的注释,我们能够把后面所有的都给注释掉,包括多行的注释

+   加号,url中替代空格拼接字符

concat 字符拼接

这些可以作为空格规避的检查,包括加号,字符的拼接等等

% 通配符

?Param1=foo&Param2=bar url参数

select url打印常量等

select可以打印常量或者变量,在URL中,同样可以实现,对于select,也需要屏蔽掉

@variable 本地变量

@@variable 全局变量

对于本地变量和全局变量来说,我们在URL中应该是禁止执行

Sleep 10 睡眠10秒

sleep就是用于时间的窃取,所造成的盲注攻击,那么这些字符都是最基本的,我们就不做示例

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

除了SQL注入字符外,还有SQL的关键字,所有的关键字都应该屏蔽掉

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vLy2GD86-1645369112772)(3-9应用层如何防御.assets/1.png)]

这些关键字只包括了一小部分,因为mysql的关键字,也叫保留字,太多了,我们在这里是显示不完的,在这里,只是做个示例,所以,我们必须把注入字符,SQL关键字给注释掉

即使过滤掉,也有规避检查的办法,进行注入,那么,我们有时候,有些东西,仍然是无法屏蔽掉的,只要是人为的,总会有漏洞,所以,我们在程序URL传参的时候,想办法

4.URL传参的整体加密

传参,我们希望它整体加密

1.原URL:https://61.206.45.132/corp/tokusyu.php?mid=1&tksid=473

整体加密就是,我们这个程序原来传递参数,mid=1&tksid=473,那么在这里拼接参数,相对容易,因此给注入者留下了很多注入的空间

2.整体加密处理:

https://61.206.45.132/corp/tokusyu.php?action=XNNAKUIQLNZHRE14DAFEWQ

我们看到action,动作,动作等于一串字符,这份字符到底是什么东西,完成了什么操作呢,实际上注入者,是很难猜测的,而实际上这一串加密串,它传入的是mid=1,并且tksid=473,而对于我们注入者来说,它必须要加密到加密串里面,进行整体加密,在传出,所以这个办法就相对,非常困难,甚至SQL注入的可能性,就能完成布局,当然,在开发过程中,也会有更好的办法,也有可能是我们不知道的,这是应用层,如何防御SQL注入最好的办法和思路

5.小结

1.过滤常用注入字符

2.过滤MySQL关键字

3.URL传参的整体加密处理

那么除了应用层之外,假如应用层,没有很好的做好SQL注入的防范,那我们在系统层和数据库层,又有那些防御的办法呢

3-9应用层如何防御相关推荐

  1. DDos应用层攻击防御

    目录 DNS类报文攻击防御 DNS交互过程 DNS Request Flood攻击与防御原理 DNS Reply Flood攻击与防御原理 未知域名攻击与防御原理 DNS缓存投毒攻击与防御原理 HTT ...

  2. 浅谈 DDoS 攻击与防御

    浅谈 DDoS 攻击与防御 原创: iMike 运维之美  什么是 DDoS DDoS 是英文 Distributed Denial of Service 的缩写,中文译作分布式拒绝服务.那什么又是拒 ...

  3. Ddos攻击攻击与防御

    2019独角兽企业重金招聘Python工程师标准>>> 一 背景 在前几天,我们运营的某网站遭受了一次ddos攻击,我们的网站是一个公益性质的网站,为各个厂商和白帽子之间搭建一个平台 ...

  4. 浅谈Ddos攻击攻击与防御

    EMail: jianxin#80sec.com Site: http://www.80sec.com Date: 2011-2-10 From: http://www.80sec.com/ [ 目录 ...

  5. DDoS 攻击防御方法

    网络层 DDoS 防御 限制单 IP 请求频率. 网络架构上做好优化,采用负载均衡分流. 防火墙等安全设备上设置禁止 ICMP 包等. 通过 DDoS 硬件防火墙的数据包规则过滤.数据流指纹检测过滤. ...

  6. 服务器最高安全防御策略选择与差异

    随着linx/bsd技术的普及与发展,大家都认识到了开源系统所带来的种种好处,比如免费,可定制化,高性能,高可扩展,以及我们今天要研究的安全--一个永恒的话题,好了废话不说了切入正题! 个人认为如今系 ...

  7. 安全的应用程序开发和应用程序安全防御

    摘要 对互联网行业而言,安全总是后知后觉!只有遭受损失时才想办法去弥补.互联网的历史就非常清楚的验证这个理论,早在1969年美国军方就发明了互联网命名为「Arpanet」,1973年 Arpanet ...

  8. ISC2015听会小计

    今天,冒雨去国家会议中心听取ISC2015大会,期间有些许收获,记录.分享: 1.个人感觉云计算安全与传统网络安全,在防御方面最大的不同是:传统网络防御可以把待防御对象看成信息孤岛,因此,边界性很强; ...

  9. CSDN 在线峰会——揭晓阿里云核心技术竞争力

    3 月 18-19 日,CSDN 联合阿里云,邀请到了阿里云多个团队的技术大咖,从虚拟化.存储.网络.安全.云计算.大数据.物联网等多个维度着手,释放阿里云的核心技术与竞争力. 以下是精彩的内容分享: ...

最新文章

  1. Silverlight教程第三部分:使用 Networking取回数据并填充DataGrid
  2. Resin3.19 连接池配置
  3. 【Linux网络】Linux Socket编程 TCP协议
  4. C/C++队列与循环队列
  5. C# 循环语句 for
  6. 添加ejs后页面空白解决办法
  7. 利用http-server测试vue-cli打包后的项目
  8. Centos6.3安装KVM
  9. JavaScript 深入理解作用域
  10. 关于《大道至简》第八章的收获
  11. MATLAB 线型图
  12. 创建型模式之简单工厂模式
  13. Inception模块 GooLeNet网络
  14. Sqlserver2000服务器安装配置
  15. win7右下角声音图标不见的解决方法
  16. 青蛙过河 猴子爬山 兔子繁殖 开宝箱2 找气球 指针函数 铺地砖
  17. Backtrader(十六)- Order订单 - order_target_xxx
  18. python 支付宝接口_python实现支付宝转账接口
  19. 2021-04-27 Android 理解frameworks services jni hardware kernel 整个控制过程实例包括回调
  20. 邻域、邻接、通路、连通、连通集、区域概念区分​​​​​​​

热门文章

  1. 27岁裸辞转行程序员,大半年的艰苦历程总结的学习经验
  2. Unity MVC丨(九)Unity MVC 最后总结
  3. NGINX中的的请求头x_real_ip和x_forwarded_for
  4. JAVAweb入门基础
  5. 计算机通信和电子设备制造业发展的原因,计算机、通信和其他电子设备制造业增长突出...
  6. outlook2003只能发送邮件不能接收
  7. 58java面试题_58赶集总部面试java开发工程师,一道令人费解的面试题
  8. 自制电脑红外遥控接收器 PC软解码
  9. dtoj#4212. 小X爱旅行(travel)
  10. 食品生产许可证办理时间及所需材料介绍