空气炸锅两根肠,
锅里煎俩鸡蛋,
时间紧就喝水,不紧急就是晚上提前电饭锅里面预约的粥。
时间紧喝水是因为粥有时候特别烫~~~
应该有,上面的水木年华翻唱的都很厉害。
但是稳定 😂
ai 的音色剧稳
还没听过,容我听听看看。
想着是就”猫“着,
但越来越感觉有点给当成病猫了。
主要是开源,再加上现在可以 Ai 分析代码。
更新一下在上,
用容器起且设置一定的边界 🧐
https://nextjs.org/blog/security-update-2025-12-11
npx fix-react2shell-next
pnpm i react@latest
pnpm i react-dom@latest 🤪
@Jimmy 哈哈哈, 么的问题 🤪
@Abc 手动说明吧, 《囧妈》里面火车站 贾冰的 ”有道理“
@Jimmy "您的评论被 AI 判定为低质量回复,5 分钟内无法发布评论。原因:内容为'点了 👍',属于传统低质量灌水,信息量极低,未提供新见解或与帖子主题的实质讨论,确定性较高。" 我这句话代表认可他这句话,应该不犯毛病吧 😂
点了 👍
没有喘,是什么音调就是什么音调平稳的可怕。
此时此刻最应景的一句话,
走吧,下楼一块点一根。
@Abc https://horizon3.ai/attack-research/vulnerabilities/cve-2025-55182/?gclid=EAIaIQobChMIrKirnLetkQMVCTNECB3pdDG0EAAYASAAEgJC1fD_BwE&utm_source=Google%20Ad&utm_medium=ppc&utm_campaign=&utm_content=189451029589&utm_term=react%20cve%202025%2055182&groupId=&gad_source=1&gad_campaignid=20407112338&gbraid=0AAAAAoNOo1IbIm9S2g2kZljeF70SM5itI
@Abc reason: {
response: {
_prefix: "恶意代码//",
_formData: { get: Function } // 直接写 Function
}
}
response._formData.get(response._prefix + '0'); 缩减版
@Jimmy 站长,长度被限制了我分了两次发送,这种是不是可以调整一下最大限度。
当然调不调整都可以,毕竟我就发了一次这么长的,哈哈哈哈哈
执行流程
React await 这个对象
JavaScript 看到 then 属性,调用 then(),this 指向攻击者的对象
then() 里检查 this.status === 'resolved_model',调用 initializeModelChunk(this)
initializeModelChunk 从 this.reason 取出 response(攻击者伪造的)
解析 this.value,遇到 "$B0",需要读取 Blob
调用 response._formData.get(response._prefix + "0")
↓
Function("恶意代码字符串 0")
↓
返回一个恶意函数
恶意函数被执行,RCE 达成
总结
React 以为 response 是自己内部创建的可信对象,从不校验。攻击者通过伪造 this,一路把假的 response
送了进去,最终让 _formData.get() 变成 Function(),实现任意代码执行。
⏺ 从一行代码说起
React 里有这么一行代码(处理 Blob 反序列化):
const backingEntry = response._formData.get(blobKey);
正常情况下,response 是 React 内部创建的对象,_formData 是真正的 FormData,.get() 就是读取表单数据。
但如果攻击者能控制 response 这个对象呢?
问题来了:response 从哪来?
往上追溯,response 是从 chunk.reason 里取出来的:
function initializeModelChunk(chunk) {
const { response } = chunk.reason; // response 来自 chunk.reason
// ...
response._formData.get(blobKey); // 然后被使用
}
那 chunk 又从哪来?
继续追溯:chunk 从哪来?
initializeModelChunk 是被 then 方法调用的:
ReactPromise.prototype.then = function(resolve, reject) {
const chunk = this; // chunk 就是 this!
if (chunk.status === 'resolved_model') {
initializeModelChunk(chunk);
}
}
所以 chunk 就是 this。那 this 是什么?
关键点:this 可以被伪造
JavaScript 有个 thenable 规则:
// 如果对象有 then 方法
const obj = { then: 某个函数 };
// await 它时,JavaScript 会调用
obj.then(resolve, reject);
// 此时函数内部的 this 就是 obj
攻击者的思路:如果我能让 then 指向 ReactPromise.prototype.then,那调用时 this 就是我自己构造的对象!
攻击者怎么拿到 ReactPromise.prototype.then?
React 的反序列化支持 $@ 语法,可以获取内部的 Chunk 对象:
"$@0" → 返回 Chunk 对象(带有 then 方法)
攻击者构造:
{
"then": "$@0", // 指向 Chunk,也就获得了它的 then 方法
}
组装攻击
攻击者发送的数据反序列化后变成:
{
then: Chunk.prototype.then, // 偷来的 then 方法
status: 'resolved_model', // 触发 initializeModelChunk
value: '{"then":"$B0"}', // 让它去读取 Blob
reason: {
response: {
_prefix: "恶意代码字符串",
_formData: { get: Function } // 把 get 换成 Function 构造器!
}
}
}
@Jimmy 损失没有什么,我容器起的项目。
库,redis 都不在这台服务器上面。
这件事也告诉我,后面搞什么尽量容器化且有问题及时升级 😷
存在侥幸心里了(准确的说周五了不想搞了 🙄)
周六电话、信息就过来了 😑
@halfmoon 也对吧,不过正常 Agent 是没有办法连接外界。
mcp 是 Agent 连接外界的工具,相当于一个 bridge 吧。
下班,下班,
周末愉快 😇
好用,
https://platform.iflow.cn/mcp。
简单的理解就是他直接接入你的应用了。
可以代替你执行应用的操作,当前也可以监控报错等等。
你可以尝试一下 chrome-devtools-mcp。
或者安装一个 openai 之前推出的 Atlas 浏览器,
你说一句,他就可以帮你直接在 web 端发一篇微博。(前提对他开放一定的权限)
no
偶尔
yes yes
no
yes
yes
nonono~
不生?
有的是治你的法.....
适当加弹力带辅助呢
欢迎欢迎 👏
`(>﹏<)′👻
op 想吃什么可以私信给邮寄嘛 😶
深刻的阅读理解
天平的设计灵感来自游戏 《神之天平 ASTLIBRA Revision》:
我觉得就叫秤(平)友吧,
如果是秤,可以解释为:当天平两侧的重量逐渐趋于一致时,才能获得最优的增益。
如果是平,可是解释为:平常心。保持心态与行动的平衡,能让效率与质量都达到最优。
当然平主要是还是大家平平安安,健健康康,顺顺利利啦 😄
@lin 哈哈哈,
下次应该会提示小鸟壁纸。👻
找到的关闭键约等于 open new window
里面最搞笑的是,还会给某人的微博引流 🤣
高中买的匡威红书包一直背到了现在
参加工作的第 4 年半......
vue3+js+vite。 “没类型提示要一直查文档”。
我感觉你这段话是 A 出来的 🙃
好运来
test
英雄联盟-符文大乱斗
平均 8 分钟一把。
修正:
4、使用示例链接插入图片
###
1、找一个图床上传图片获取链接( https://picui.cn/可以使用这个,网上随便找的)
2、使用获取的链接在地址后面拼上?raw=true
3、示例链接 https://youke1.picui.cn/s1/2025/10/31/690452881dbb1.jpg?raw=true
4、使用示例链接插入图片
也可以使用输入框上面图片按钮。将里面 url 换成对应链接(倒数第 7 个)

某 D👻
@Jimmy 对,按了空格回复的 🙃