【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 /)

相关推荐
柒和远方2 小时前
每日一学V012: 从 Python 到 Node.js:一个 AI Native 开发者的 JavaScript 调用 LLM 实战
javascript·node.js·api
IccBoY6 小时前
NVM超详细全解教程:解决Node版本冲突(Win/Mac/Linux安装+使用+踩坑合集)
前端·node.js
很楠爱上9 小时前
Node.js 模块化学习笔记
笔记·学习·node.js
linksinke9 小时前
Node.js 版本管理管理器的使用注意 - NVM
node.js·nvm·node多版本·node切换
白夜灬10 小时前
Next.js / Node.js 环境中切断这种大文本拒绝服务攻击(DoS)
node.js
二喵❥(^_-)11 小时前
Node下载和安装
node.js
wgc2k11 小时前
Node.js游戏服务器项目移植-1:项目移植版本环境的冲突问题以及技术选型测试
游戏·node.js
凌览11 小时前
为什么我不推荐一人公司用PostgreSQL
前端·后端·node.js
wgc2k14 小时前
Node.js游戏服务器项目移植-2: 用TypeScript还是Javascript
服务器·游戏·node.js
卷帘依旧1 天前
v8引擎和libuv的关系
node.js