一款基于fofa api语句的资产收集工具,用于红队快速收集顶级域名或者ip相关关联的资产
新增计划
新增资产存活检测 已完成
新增资产指纹识别 未完成
新增xray工具联动 未完成
新增awvs工具联动 未完成
新增afrog工具联动 已完成
新增关联资产爬虫 未完成
新增WAF识别 未完成
新增多线程资产存活探测 未完成
新增其他测绘平台 未完成
新增数据自动去重 未完成
新增子域名资产穷举 未完成
新增fofa语句插件 已完成
新增计划
新增资产存活检测 已完成
新增资产指纹识别 未完成
新增xray工具联动 未完成
新增awvs工具联动 未完成
新增afrog工具联动 已完成
新增关联资产爬虫 未完成
新增WAF识别 未完成
新增多线程资产存活探测 未完成
新增其他测绘平台 未完成
新增数据自动去重 未完成
新增子域名资产穷举 未完成
新增fofa语句插件 已完成
😫😫😫回来吧刺激晓骑😫😫😫
😤😤😤我最骄傲的信仰😤😤😤
😎😎😎历历在目的山海😎😎😎
😭😭😭眼泪莫名在流淌😭😭😭
😍😍😍依稀记得分布式😍😍😍
😋😋😋还有给力的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
