各位学前段的同学,如果你想成为三十 k 以上的架构师,那你一定要理解 prototype pollution, 这是个啥玩意儿哎,它重要吗? 看看最近 react 核弹级的漏洞你就知道。那什么是 prototype pollution 呢?它其实啊,就是原型污染。比如我们有一个空对象叫 object 一, 如果这个时候我想访问它的 polluted 属性,肯定是个 undefined, 因为在 object 一 和它的原型上都找不到这个属性嘛。 那如果我现在就是想访问,怎么办呢?你要么就是修改对象的本身属性,要么就是利用圆形链的向上查找特性,在圆形上加一个属性。那我为什么不直接修改对象本身属性呢? 因为啊,圆形污染更隐蔽。就比如我这个空对象,你突然多了一个属性,那岂不是很容易被发现?即使你修改的是对象本身自有的属性,那也可以通过检查或者属性描述来进行限制。 但污染原型呢,那就显得很隐蔽了,毕竟我这个对象本身没有发生变化。这就好像抢劫和偷盗,一个是明目张胆,一个是毫无察觉。那怎么污染原型呢?这次的漏洞啊,就是巧妙地利用了杠杠 proto 这个访问器属性和 jc 点 pass 的 一个缺陷。 我们都知道,每一个对象都有一个内置属性叫 proto tech, 指向的就是当前对象的原型。 因为这个啊,是 ecma script 规范层面定义的,你无法直接访问,要么你通过 object get property of 方法和 object set property of 方法进行访问和设置,要么你就是要利用 object 杠杠 proto。 杠杠 proto 啊,它是非标准但广泛实现的访问器属性,它会触发 setter 和 setter 方法进行设置和访问原型对象。 这种方式呢,因为它是显示的调用方法,所以你很难在别人的代码里插入,但是呢,这种方式它就有可能了。如果对于内置的原型属性杠杠 pro 以及原型属性不太清晰的,一定要来听我们免费的大师课,你别看它免费, 但在原理的讲解上那是非常的透彻。怎么领取?在我们账号主页点击头像进入账号主页,根据提示领取就可以了。一般啊,我们要更新一个对象的所有属性,它会用到两个方法,就比如我们这有一个新的对象,它是用来去更新你这个原对象的。 那我要想更新原对象,它一般会用到 object assign 方法,或者是用 for in, 这两种形式是比较常见的。本来啊,这两种方式你直接用一点问题没有。 比如我在这 object 二里,我定义了一个 proto, 我 即使用 object design 方法合并了 object 一 和 object 二, object 一 它依然不会被污染,我们可以看到它取这个 pluto 还是取不到,为什么呢?因为在字面量直接定义杠杠 proto 这个属性,这个属性啊,会被设置成不可枚举的, 所以 object assign 方法和 for in 方法,它是无法访问到这个属性的。但是如果这个对象是 jsonpath 转出来的,那这个 proto 就 会被当成一个普通的属性,它就可枚举了, 而一旦它可枚举,就会触发什么 citer 方法运行取到了值。我们看一下现在的 object 一, 它本身是什么, 可以看到 object 一 一直没变,它就是个空对象,但是它的原型发生了变化,所以通过原型获取的 pollute 的 属性,它就不再是一个 undefined。 其实啊,原型污染不只是一种方式, 如果有同学有兴趣可以看一看这篇文章,这里详细地介绍了 js 里的原型污染攻击都有哪些形式与手段。
粉丝2074获赞5643

紧急提醒所有前端开发者, react 报 c v s s 十点零最高危漏洞 c v e 二零二五五幺八二你无需认证就能远程控制服务器。 这个漏洞体现在服务端组建的虚拟化和反虚拟化处理里。只要你的项目用了 react, 十九点零点零到十九点二点零或是 next 点结, s 十五到十六点零点六默认配置,就很有可能中招。你只要利用原型链污染的方式就能直接执行任意代码。 这边我来给你复现一下,新建一个工程,使用全站的 next, 点击框架,执行命令, n p x crate next a p p at 十六点零点六下载完我们也能看到它提示存在安全漏洞。接着执行 n p m run d v, 打开 web ui, 一 切看着没什么问题。 然后重点来了,我将这个脚本放到项目中,处理好 python 环境,将脚本中这里改成 open a calculator, 最后执行 python p o c 点 p y, 拉起了计算器,这意味着我们可以在前端注入任意代码,从而让服务端执行。太可怕了。 那么如何才能解决这个问题呢?官方已经给出了解决办法,那我们只需要修改项目的 package, 点击省文件,将 dependencies 里面的 next 改为十六点零点七, react 和 react dom 改为十九点二点一,然后重新 npm install。 这下我们跑脚板看看就不会有问题了。在这里我们也能看到官方的 comix 记录,感兴趣的兄弟们可以来看看,关注我,带你解锁更多好用好玩的!


谨记提醒所有 react server come upon 字的开发者,安全研究人员在尝试利用上周高危漏洞的不定程序时,发现并透露了 react server come upon 字中存在的两个新漏洞,拒绝服务原代码泄露。两项新漏洞虽有远程代码执行风险,但可是服务器进程挂机敏感,逻辑泄露 受到影响。 react serverdom, webpack 等多个版本相关包,此前修复 react 二十二号漏洞的一九年零月二日幺九点幺点三幺九点二点二版本仍受波及,官方要求立即升级至幺九点零点三幺九点幺点四 幺九点二点三版本。虽然这次两项漏洞已及时修复,但还是建议各位相关开发者尽快完成,不停更新,保障生产环境安全稳定。别划走。还有最后他播一段性价比高、初小企业创业大佬、学生党都能难念的服务器,浏览器搜索找到五洛云,接着来到五洛云首店,也可以领取免费云服务器哦。接下来看一下公司资质, 公司资质齐全,不用担心跑路,让我们再往后看。接着简单了解一下产品栏目,国内云主机栏目可免费领取服务器,无需优惠。高房云可了解华北高房,新用户送十元,咨询客服获取八五折优惠,年付更划算哦,买一年送两个月。还有海外云服务器、 速主机、物理机、服务器托管和加盟代理,需要更多了解可咨询客服哦! 关注五络云,让业务上云!

react 服务器组建的高危漏洞正被大规模自动化利用,攻击者主要针对建筑和娱乐行业批量投递加密货币挖矿程序级多种新型恶意软件 攻击中投放的主要恶意载荷包括 sex peer blight call tunnel, zimfok d 五 sh f n 二十二 sh wukeyasein 等。截至十二月八日,已检测到超十六点五万个存在漏洞代码的 ip 地址和六十四点四万个相关域名。 huntris 提醒建议,该漏洞易被利用,且危害等级极高,所有使用相关组建的组织应立即更新修复。