文章目录
前言
nodejs从入门到挖坟,今天早上刚刚学了一点,成功了,比较开心,入门了新的领域
web334
下载源码下来在user.js
里面发现了用户名和密码,群主比较坑哈,搞了个大写,明明是小写,ctfshow
与密码我忘了压缩包懒得下
web335
方法一
一道Node.JS的RCE
之后cat fl00g.txt
即可
方法二
方法太多了随便写一个吧
global.process.mainModule.constructor._load('child_process').exec('calc')
web336
方法一
先用上一题paylaod
尝试绕过姿势,也不行
那么试一下读取下文件呢,看看过滤了啥,通过全局变量读取当前目录位置
很明显过滤了这两个
尝试本地绕过本地打通
把加号url编码(浏览器解析特性+会成为空格好像)
出结果
方法二
首先读取目录下文件,看到flag了
方法三
web337
数组绕过,很简单,不写过程了
web338
考点:nodejs原型污染
推荐大家看看这篇文章,不用看多一点点就好,很简单的,俺也是现学的相信自己继承与原型链 关键点是这里
主要是utils.copy(user,req.body);
是利用点
此时,因为原型污染,secret
对象直接继承了Object.prototype,所以就导致了secert.ctfshow==='36dboy'