PHP框架Laravel最新SQL注入漏洞形成的原因
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,本篇内容主要讲解"PHP框架Laravel最新SQL注入漏洞形成的原因",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PHP框架Laravel最新SQL注入
千家信息网最后更新 2025年02月23日PHP框架Laravel最新SQL注入漏洞形成的原因
本篇内容主要讲解"PHP框架Laravel最新SQL注入漏洞形成的原因",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PHP框架Laravel最新SQL注入漏洞形成的原因"吧!
PHP知名开发框架Laravel,前几天在官方博客通报了一个高危SQL注入漏洞,这里简单分析下。
首先,这个漏洞属于网站coding写法不规范,官方给了提示:
但官方还是做了修补,升级最新版本V5.8.7可修复。
我们先定位下这里:
Illuminate\Validation\Rule
官方推荐的写法是:
Rule::unique('users')->ignore($id),
如果网站coding没有预先对$id的值做处理时,用户可以直接传递恶意数据给ignore函数,就会导致SQL注入。
我们来跟一下函数:
\Illuminate\Validation\Rules\Unique.phpclass Unique{...public function ignore($id, $idColumn = null){if ($id instanceof Model) {return $this->ignoreModel($id, $idColumn); }$this->ignore = $id;$this->idColumn = $idColumn ?? 'id';return $this; }
这里我们不考虑把$id写成实例的情况,$id是用户可控的话,$idColumn直接写为空即可,最后赋值情况如下:
$this->ignore = $id;$this->idColumn = 'id';
如果网站代码类似这样构造的话,黑客输入的值就属于可控状态:
$id = $request->input('id');
最后我们会走到这儿:
Illuminate\Validation\Rules\Unique.phppublic function __toString(){ ... ... }
我们看下关键的代码变更:
Illuminate\Validation\Rules\Unique.phpV5.8.7【最新版】public function __toString(){$this->ignore ? '"'.addslashes($this->ignore).'"' : 'NULL', }
Illuminate\Validation\Rules\Unique.phpV5.8.4public function __toString(){$this->ignore ? '"'.$this->ignore.'"' : 'NULL', }
这里最新的代码v5.8.7,把$this->ignore直接给addslashes了,以前这里是没有防护的。
有趣的是,笔者对比了下diff,期间官方还试图对其他引用的地方进行过滤。最后还是在__toString处,进行了统一的过滤。
最后提一句,后面的代码会进入DatabaseRule,进行后续SQL规则匹配。
Illuminate\Validation\Rules\DatabaseRule.php
这之后就没有再进一步处理,接着形成了SQL注入。
到此,相信大家对"PHP框架Laravel最新SQL注入漏洞形成的原因"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
漏洞
官方
框架
代码
网站
原因
内容
写法
函数
情况
用户
还是
处理
学习
实用
更深
有趣
知名
再进一步
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机ui是学什么软件开发
数据库服务处理速度慢
html js数据库
神武服务器梯队
网络安全的思考
万普网络技术有限公司
国安网络技术怎么样
联想服务器 进入bios
河南便宜网通服务器
泰国天气预报软件开发
数据库事务如何实现
27号文件 网络安全
互联网软件开发是干嘛的
医院网络安全管理条例
软件开发费用报价
山东沃浩网络技术有限公司
基础网络技术学院
华为网络安全红线 a1
短信软件开发技术
如何查看电脑的服务器配置
网络技术人员是指
服务器机柜过滤器供应
浙江特色软件开发不二之选
软件开发的公司架构
吴中区正规软件开发优化
网络安全分级
连接台湾服务器
合同管理系统软件开发公司
杭州健康通服务器调试失败
如何查看电脑的服务器配置