【nodejs原型链污染】

一、什么是原型链污染



https://security.snyk.io/vuln/SNYK-JS-LODASH-450202


二、原型链污染原理

三、哪些情况下会原型链污染


也就是上面o2里的 __proto__ 代码的是o2 而不是object原型

四、原型链污染导致的RCE

五、练习

题目给了一串node.js的代码

api 路由下会把 req.body 合并 进一给空字典,这里就有原型链污染的地方

我们的目的是为了执行这里的eval,让Super 拥有 userid : superadmin , 也就是通过污染原型链让所有的object对象都拥有userid

将payload注入到api路由下,api路由会执行merge合并,让空字典的原型链__proto__ 拥有userid:useradmin 属性

访问后发现并没有成功

因为没有用json解析,这个和之前将的没有成功污染原型链的例子一样

改成json 再次访问就变空白了

接下来只需要对code进行传参,但code有黑名单过滤

这里用十六进制来绕过 quire('child_process') [execSync](ls /)

相关推荐
翼龙云_cloud1 小时前
阿里云国际服务器代理商:ECS 快速部署 Node.js 项目实战指南
服务器·阿里云·node.js
FEF前端团队17 小时前
小程序微信支付 V3 接入实战手册:从商户配置到前后端落地
javascript·后端·node.js
万敏1 天前
Vue3 全栈实战第七周:错误处理与请求层封装实战记录
vue.js·node.js·全栈
AD_youyu1 天前
Node.js 安装教程
node.js
m0_380743871 天前
为 OpenAI 兼容接口配置教程
开发语言·python·node.js
__zRainy__2 天前
Node系列 · ORM:Sequelize 简介
数据库·后端·node.js
水獭比特2 天前
工具都批准了,为什么还不能执行?给 Agent 补上第二道校验
javascript·人工智能·node.js
__zRainy__2 天前
Node系列 · ORM:mysql 驱动程序
数据库·后端·mysql·node.js·orm
__zRainy__2 天前
Node系列 · ORM:Sequelize 模型
数据库·后端·node.js
秋秋小事2 天前
提示词工程
node.js