😫😫😫回来吧刺激晓骑😫😫😫
😤😤😤我最骄傲的信仰😤😤😤
😎😎😎历历在目的山海😎😎😎
😭😭😭眼泪莫名在流淌😭😭😭
😍😍😍依稀记得分布式😍😍😍
😋😋😋还有给力的Xray😋😋😋
😡😡😡把棒子都给打退😡😡😡
🥴🥴🥴通宵渗透也不累🥴🥴🥴
😤😤😤我最骄傲的信仰😤😤😤
😎😎😎历历在目的山海😎😎😎
😭😭😭眼泪莫名在流淌😭😭😭
😍😍😍依稀记得分布式😍😍😍
😋😋😋还有给力的Xray😋😋😋
😡😡😡把棒子都给打退😡😡😡
🥴🥴🥴通宵渗透也不累🥴🥴🥴
👎3😁3👍1
parse-server那个原型污染漏洞导致rce的漏洞,昨天有人问的,钻研了一下,应该是网上的文章有地方没说对
复现环境说的是mongodb依赖包版本3.6.11,当BSON数据中的对象包含_bsontype键,当他的值为Code时,该对象会被判断为Code类型。在进行序列化时,系统会调用serializeCode这个函数对该对象进行序列化处理
在反序列化时,如果遇到Code类型的数据,则系统会执行js内置的eval操作。将字符串变为可执行代码。这个算是比较常规的风险代码,所以他又定义了evalFunctions这个参数,通过一个叫GridFS的流程处理metadata
如果在代码中没有设置info.appId的值,程序就会进入if语句块,如图,把fileViaJSON设置为true。如果缓存中没有info.appId的信息,程序会继续执行下去。在代码中可以找到appId的赋值操作,并且后面还有一处校验。这一步需要保证_ApplicationId是正确的appId,否则程序就会退出。根据这个逻辑网上有多种利用方式,其中一种是控制out.value.__op out.key从而污染原型的evalFunctions参数,构造一条新的调用链去在FileCoder里面汇总变量,修改create包从而修改file类型
然后网传官方的修复措施是对metadata进行过滤,但是没有修复原型污染。这个说法我钻研了一下不认同。在找新的可以上传Code类型的位置时他示例用了这个
如果按照他上文的思路,child_process模块获取空对象后在BSON库中检验evalFunction,执行的是Node.js,metadata放到fs.files表,所以还是可以构造hook函数,但补丁后把其他文件内容放到fs.chunks表里,无法通过第二个return返回key和value,所以污染位置要么是前面的restUpdate要么就是函数传出路径错误根本无法运行,这种情况下还能继续RCE反正我是不赞同的
复现环境说的是mongodb依赖包版本3.6.11,当BSON数据中的对象包含_bsontype键,当他的值为Code时,该对象会被判断为Code类型。在进行序列化时,系统会调用serializeCode这个函数对该对象进行序列化处理
在反序列化时,如果遇到Code类型的数据,则系统会执行js内置的eval操作。将字符串变为可执行代码。这个算是比较常规的风险代码,所以他又定义了evalFunctions这个参数,通过一个叫GridFS的流程处理metadata
如果在代码中没有设置info.appId的值,程序就会进入if语句块,如图,把fileViaJSON设置为true。如果缓存中没有info.appId的信息,程序会继续执行下去。在代码中可以找到appId的赋值操作,并且后面还有一处校验。这一步需要保证_ApplicationId是正确的appId,否则程序就会退出。根据这个逻辑网上有多种利用方式,其中一种是控制out.value.__op out.key从而污染原型的evalFunctions参数,构造一条新的调用链去在FileCoder里面汇总变量,修改create包从而修改file类型
然后网传官方的修复措施是对metadata进行过滤,但是没有修复原型污染。这个说法我钻研了一下不认同。在找新的可以上传Code类型的位置时他示例用了这个
delete ({}).proto.evalFunctions; require(child_process).exec('touch /tmp/123.txt')"如果按照他上文的思路,child_process模块获取空对象后在BSON库中检验evalFunction,执行的是Node.js,metadata放到fs.files表,所以还是可以构造hook函数,但补丁后把其他文件内容放到fs.chunks表里,无法通过第二个return返回key和value,所以污染位置要么是前面的restUpdate要么就是函数传出路径错误根本无法运行,这种情况下还能继续RCE反正我是不赞同的
👍3
【DJGun教你制作栗子头和说的道理-哔哩哔哩】 https://b23.tv/Vxu2MXQ
Bilibili
DJGun教你制作栗子头和说的道理_哔哩哔哩_bilibili
Hi it is my first time making a video. In this video we use stereographic projection to generate the Chestnut Head and the Telling Reason.More details about stereographic projection:BV1SW411y7W1Music , 视频播放量 436154、弹幕量 891、点赞数 17303、投硬币枚数 5336、收藏人数 7263、转发人数…
👍1🥰1
