开发环境的调试接口在生产环境未关闭,攻击者可直接访问获取敏感配置
常见的 Debug 接口路径:
/debug - 自定义调试接口/actuator - Spring Boot Actuator/__debug__ - 框架调试端点/phpinfo.php - PHP 信息页| 泄露项 | 危害 |
|---|---|
| 数据库连接信息 | 攻击者可直接连接数据库 |
| AWS 密钥 | 云资源被完全控制 |
| JWT Secret | 可伪造任意用户 Token |
| API Keys | 第三方服务被滥用 |
// 1. 环境判断
if (process.env.NODE_ENV === 'production') {
// 禁用所有调试路由
}
// 2. IP 白名单
app.use('/debug', (req, res, next) => {
const allowedIPs = ['127.0.0.1', '10.0.0.0/8']
if (!isAllowed(req.ip, allowedIPs)) {
return res.status(403).send('Forbidden')
}
next()
})
// 3. 认证保护
app.use('/debug', requireAdminAuth)