一款强大的HTTP代理分析器,用于检查浏览器/PoC与Next.js服务器之间的Next.js Server Actions流量。
GitHub 仓库
https://github.com/Benrich127N/react2shell_analyzer.git
$@, $K:)__proto__, constructor.prototype)PoC/浏览器 → Dart 代理 (4000) → Next.js 服务器 (3000)
dart pub global activate react2shell_analyzer
dependencies:
react2shell_analyzer: ^1.0.0
dart pub get
# 使用默认配置启动(代理监听4000,转发至localhost:3000)
react2shell_analyzer
# 自定义配置
react2shell_analyzer --proxy-port 8080 --target-port 3000 --target-host example.com
# 禁用特定功能
react2shell_analyzer --no-headers --no-color
import 'package:react2shell_analyzer/react2shell_analyzer.dart';
void main() async {
final config = ProxyConfig(
proxyPort: 4000,
targetHost: 'localhost',
targetPort: 3000,
);
await runProxy(config: config);
}
================================================================================
[a3f8bc21] POST /api/action
时间: 2025-12-07T10:30:45.123Z
请求头:
content-type: multipart/form-data; boundary=----WebKitFormBoundary
next-action: abc123def456
多部分请求体:
发现2个部分
第1部分:
Content-Disposition: form-data; name="0"
内容:
{"action":"$@1","data":{"userId":123}}
第2部分:
Content-Disposition: form-data; name="1_$ACTION_REF_1"
内容:
$K:1234567890abcdef
[a3f8bc21] 响应: 200
⚠️ 检测到可疑模式:
[React Flight 动作引用] \$@ 位于第1部分
上下文: {"action":"$@1","data":{"userId":123}}
[React Flight 密钥标记] \$K: 位于第2部分
上下文: $K:1234567890abcdef
🐛 安全研究:分析Next.js Server Action以发现漏洞
🔬 开发:调试多部分表单提交
📊 流量分析:理解React Flight协议
🛡️ 渗透测试:识别原型污染向量
欢迎贡献!请在GitHub上提交Issue或Pull Request。