Laravel 5.8 被曝安全漏洞(已修复)

转载自Facebook 传送门

https://blog.laravel.com/unique-rule-sql-i...
https://github.com/laravel/framework/pull/...

简单来讲在台湾时间2019/03/20时laravel 5.8被安全测试人员报告说有安全漏洞,这个漏洞已经在最新的commit修正了。

reddit战成一团,不过战错地方了,详情可以参考上面那个pr连接,taylorotwell有亲自说明成因。

我下面会详细说明有错请指正:

这个漏洞的成因来自于:

https://learnku.com/docs/laravel/5.8/validation#ru...

乍看之下没啥问题,问题是出在于你想要自定义他的时候。

Rule::unique('users')->ignore($request->input('id'))

乍看之下也没啥问题,pdo binding value会escape。但请注意看文件说明:他可以自定义table column ignore

laravel会藉由,去区分table column ignore,而pdo并不会去escape column,所以你可以在request做sql injection,比如像是* from users;insert XXXX,3

laravel会因为看到,以为你有自定义column把它放到column那边,这样就可以达到sql injection。

本帖已被设为精华帖!
本帖由 Summer 于 2个月前 取消置顶
Payne
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 16
ivothgle

代码千万行,安全第一条,使用不规范,同事两行泪。

2个月前 评论

兄弟 很神奇的一件事情 我看作者英文的描述看明白了 而你的翻译描述看的我 一脸懵逼 这种中英文混合双打 真的可怕!

2个月前 评论

laravel 果然用的人多呀。

2个月前 评论

前几天 Taylor 就发 Blog 来着,本来还想转到 Laravel-China 结果被抢先了呀,哈哈

2个月前 评论

可以可以

2个月前 评论
ivothgle

代码千万行,安全第一条,使用不规范,同事两行泪。

2个月前 评论
Fringe

:flushed:用的人越多便更完美

2个月前 评论
guanhui07

赞 ,laravel挺好用

2个月前 评论

很好奇什么样的情景会用到 ignore 用户输入的ID

2个月前 评论

@ddingchen 这样的场景很常见呀,应该是在编辑数据的时候,判断某个字段 unique 要忽略当前id

2个月前 评论

兄弟 很神奇的一件事情 我看作者英文的描述看明白了 而你的翻译描述看的我 一脸懵逼 这种中英文混合双打 真的可怕!

2个月前 评论

@alalala 台湾人写的,搬过来繁简转换了一下,我也看了两遍才看懂。

2个月前 评论
XiaohuiLam

老版本有这bug么

2个月前 评论
wonbin

感觉这篇文章翻译的不咋地 :joy:

2个月前 评论

@wonbin 抱歉哈,因为原文表述有点绕,不知道自己理解的对不对,不敢乱改原文,所以简单繁简转换一下就搬过来了,最准确的描述是看最上面两篇英文,毕竟这篇文章也只是作者对这个漏洞的个人理解。

2个月前 评论
wonbin

@Payne 嗯嗯 客气客气 , :+1: :+1:

2个月前 评论

果然中英双打看不明白了

2周前 评论

我也想知道什麼樣的情況下會使用到~~~~

3天前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

社区文档:

将托管在 packagist.org 和 github.com 的扩展包使用国内 CDN 加速
GitHub Laravel 扩展包 TOP 250
速查表方便快速查询框架功能,支持手机访问,支持中英文版本
Laravel 中文文档,由社区用户翻译和维护,将会保持一直更新
此文档的目的,就是为了提高技术团队的凝聚力、一致性和生产效率。
开发环境的部署,开发者工具的选择,适用于 Mac 和 Windows。
浓缩过后的精华
Laravel Nova 后台管理面板文档的中文翻译
Lumen 中文文档,由社区用户翻译和维护,将会保持一直更新
Laravel 下知名扩展包 Dingo API 的中文文档,Laravel API 开发必知必会