sql注入漏洞的防范

在开始之前我想先在这里提醒选择阅读这篇博客的读者。因为本人初涉安全领域知识。关于漏洞注入尚处于学习和摸索状态,对相关的知识点认识不清或认识不够透彻。此博客亦是只起到对现所学知识的一个记录。所以只起到一个借鉴的作用,并不建议读者用作专业知识学习。

本篇博客讲的是sql注入漏洞的防范,但前提是读者已经具备基本的sql注入漏洞的基础知识(例如什么是sql漏洞注入以及如何构造payload等),这样才能读懂下面提及到的sql注入漏洞防范的相关名词。

sql注入漏洞防范一
在这里插入图片描述
1.当数据库对用户在客户端的输入字符或语句不加限制的读取到并执行时,就产生了sql注入漏洞,自然的当数据库对客户端的输入进行了相关的限制和过滤后,sql注入的风险会大大降低。在这里插入图片描述
利用sql自身所带的转义函数,可以把获取到的客户端语句进行相应的转义。在这里插入图片描述
当然也可以进行过滤,既然测试者在构造payload时需要相关的字符,那将这些字符过滤掉确实是一种方法(当绝不是最好的,因为数据库的更新换代导致字符绝不是一层不变的。)

2.第二种方法,自然是使用相应的安全设备,例如防火墙,著名的阿里云盾等在这里插入图片描述
至于什么是好的方法,这里展示专业人员推荐的方法在这里插入图片描述
PDO即统一的数据库访问接口。它可以防止前端传进来的参数被拼接到sql语句的情况。

正如上图所示,它会将前端输入的参数用占位符“?”来代替,并把这条语句结果先和数据库进行交付,再传参。而不是一起传进去。也就避免了不加节制的拼接前端语句

既然网站服务器存在sql注入漏洞,测试者可以通过相关payload来遍历数据,那在客户端和web 服务之间架一堵防火墙也不失为一种好的方法。一旦访问中存在恶意的字符就会被阻断掉。当然防火墙的设置并不代表后台服务器就允许存在sql注入漏洞,这两者是一种动态的关系需要同时推进。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值