问答环节
q:渗透需要学历吗?
a:如果是找工作肯定需要,自学的话和学历没关系,能不能干事的唯一标准就是能力
q:自学遇到了瓶颈,无法提升也无法实战怎么办?
a:外围多看实战资料,内网多打靶机跳出被教程引着走的圈子,搞懂原理自己理解,有空自行思考复现几个漏洞比看教程有价值
q:公安执法部门等国家队是不是都非常强?
a:错误的,公安涉及技术的只有网警,知识来源于大学警校中网络安全与执法专业,需要花费一部分时间学习司法执法相关知识,并且会侧重取证,监控等非渗透知识。第二是公安属于体制内公务员,各类人事应酬非常多,技术上是难以保持一线的,一般重大事故或行动都会外包给安全公司。但外包有外包的好,公安部门作为网络安全主管部门能调动的资源非常多,你们熟知都什么奇安信深信服都是晶哥的打手,所以也千万别去招惹警察叔叔
q:外群是拿来做什么的,投了简历也没见有行动?
a:后续会开展实战行动以及针对组员的拔高培训,录课中勿催
q:在渗透中感觉最难的是什么?
a:各种报错,没有之一
q:表姐有男朋友吗?平时穿黑丝吗?喜欢什么样的男生?
a:有。正式场合会穿黑丝,但是因为我比较暴力经常穿成一次性用品所以频率不高。喜欢像孙笑川那样儒雅随和又很文明的人
q:CVE-2023-27372中SPIP公域表单值序列化处理不当 利用php代码中的ENV**可以在密码重置模块实现注入,怎么利用实现rce?
a:控件中把protege_champ()这个函数作为正则表达式,
函数的代码:
<!-- File : /squelettes-dist/formulaires/oubli.html -->
<input[ (#HTML5|?{type="email" class="text email" autofocus="autofocus" required="required",type="text" class="text"})] name='oubli' id='oubli' value="#ENV**{oubli}" autocapitalize="off" autocorrect="off" />
这个函数对HTML表单字符动态处理,从请求中获取名为"oubli"的GET或POST参数,和SPIP模板构造冲突了,所以输入字段是不对序列化字符进行处理的。把序列化PHP字符串注入变量$_POST['oubli']到/spip.PHP端点上重置密码,从而page=spip_pass,在服务器上有导致RCE。
q:孙尚香出装出什么?
a:疾步鞋黑切无尽宗师电刀,最后泣血复活甲二选一
q:学渗透没有天赋怎么办?
a1(saber):转行
a2(落老师):天赋是一方面,经验也很重要,不是绝对的
a3(某倭瓜):有兴趣就好,可以先尝试,试一试总比直接放弃好
a4:(老黄):我特么双非一本呢还不是学得挺好,别学什么小迪暗月坑人
a5(🐗老师):天赋决定的是上限,安全直到红队高级为止不怎么看天赋
a6(🚗🧊):有这时间学网安费力不讨好的,自己哪个有天赋学哪个吧
q:自学web可以找工作吗?
a:基本同一,看能力,不过web神仙太多了,选什么二进制嵌入式就业会更方便
q:渗透需要学历吗?
a:如果是找工作肯定需要,自学的话和学历没关系,能不能干事的唯一标准就是能力
q:自学遇到了瓶颈,无法提升也无法实战怎么办?
a:外围多看实战资料,内网多打靶机跳出被教程引着走的圈子,搞懂原理自己理解,有空自行思考复现几个漏洞比看教程有价值
q:公安执法部门等国家队是不是都非常强?
a:错误的,公安涉及技术的只有网警,知识来源于大学警校中网络安全与执法专业,需要花费一部分时间学习司法执法相关知识,并且会侧重取证,监控等非渗透知识。第二是公安属于体制内公务员,各类人事应酬非常多,技术上是难以保持一线的,一般重大事故或行动都会外包给安全公司。但外包有外包的好,公安部门作为网络安全主管部门能调动的资源非常多,你们熟知都什么奇安信深信服都是晶哥的打手,所以也千万别去招惹警察叔叔
q:外群是拿来做什么的,投了简历也没见有行动?
a:后续会开展实战行动以及针对组员的拔高培训,录课中勿催
q:在渗透中感觉最难的是什么?
a:各种报错,没有之一
q:表姐有男朋友吗?平时穿黑丝吗?喜欢什么样的男生?
a:有。正式场合会穿黑丝,但是因为我比较暴力经常穿成一次性用品所以频率不高。喜欢像孙笑川那样儒雅随和又很文明的人
q:CVE-2023-27372中SPIP公域表单值序列化处理不当 利用php代码中的ENV**可以在密码重置模块实现注入,怎么利用实现rce?
a:控件中把protege_champ()这个函数作为正则表达式,
函数的代码:
<!-- File : /squelettes-dist/formulaires/oubli.html -->
<input[ (#HTML5|?{type="email" class="text email" autofocus="autofocus" required="required",type="text" class="text"})] name='oubli' id='oubli' value="#ENV**{oubli}" autocapitalize="off" autocorrect="off" />
这个函数对HTML表单字符动态处理,从请求中获取名为"oubli"的GET或POST参数,和SPIP模板构造冲突了,所以输入字段是不对序列化字符进行处理的。把序列化PHP字符串注入变量$_POST['oubli']到/spip.PHP端点上重置密码,从而page=spip_pass,在服务器上有导致RCE。
q:孙尚香出装出什么?
a:疾步鞋黑切无尽宗师电刀,最后泣血复活甲二选一
q:学渗透没有天赋怎么办?
a1(saber):转行
a2(落老师):天赋是一方面,经验也很重要,不是绝对的
a3(某倭瓜):有兴趣就好,可以先尝试,试一试总比直接放弃好
a4:(老黄):我特么双非一本呢还不是学得挺好,别学什么小迪暗月坑人
a5(🐗老师):天赋决定的是上限,安全直到红队高级为止不怎么看天赋
a6(🚗🧊):有这时间学网安费力不讨好的,自己哪个有天赋学哪个吧
q:自学web可以找工作吗?
a:基本同一,看能力,不过web神仙太多了,选什么二进制嵌入式就业会更方便
👍4
红队小工具 | 利用DCERPC协议,无需认证获取Windows机器主机信息和多网卡信息
工具主要用于探测内网Windows机器的操作系统信息、域名、主机名以及多网卡信息,可以辅助红队快速定位多网卡主机,以及判断机器是否在域内
优点: 无需认证,只要目标的135端口开放即可获得信息
工具主要用于探测内网Windows机器的操作系统信息、域名、主机名以及多网卡信息,可以辅助红队快速定位多网卡主机,以及判断机器是否在域内
优点: 无需认证,只要目标的135端口开放即可获得信息
一款基于fofa api语句的资产收集工具,用于红队快速收集顶级域名或者ip相关关联的资产
新增计划
新增资产存活检测 已完成
新增资产指纹识别 未完成
新增xray工具联动 未完成
新增awvs工具联动 未完成
新增afrog工具联动 已完成
新增关联资产爬虫 未完成
新增WAF识别 未完成
新增多线程资产存活探测 未完成
新增其他测绘平台 未完成
新增数据自动去重 未完成
新增子域名资产穷举 未完成
新增fofa语句插件 已完成
新增计划
新增资产存活检测 已完成
新增资产指纹识别 未完成
新增xray工具联动 未完成
新增awvs工具联动 未完成
新增afrog工具联动 已完成
新增关联资产爬虫 未完成
新增WAF识别 未完成
新增多线程资产存活探测 未完成
新增其他测绘平台 未完成
新增数据自动去重 未完成
新增子域名资产穷举 未完成
新增fofa语句插件 已完成
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反正我是不赞同的
❤4👍1