Nikto扫描报出Vue前端有安全漏洞,但我没写后端啊?

爱娜 阅读 10

我用Nikto扫了本地开发的Vue项目,结果报了一堆“OSVDB”和“CGI”漏洞,可我这明明只是个纯前端静态页面,连后端接口都还没接,怎么会有这些漏洞?是不是误报?

我试过把项目build后用http-server起服务再扫,还是同样的问题。下面是我App.vue里的一段代码:

<template>
  <div id="app">
    <router-view />
  </div>
</template>

<script>
export default {
  name: 'App'
}
</script>

难道Nikto把静态资源当成了可执行脚本?这结果到底该信不该信?

我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
Newb.艳花
哈哈,我之前也碰到过一模一样的情况,当时看到一堆OSVDB警告差点吓尿,还以为自己写的Vue代码有什么惊天大bug。

先给你吃颗定心丸:这些基本全是误报,不用太担心。

Nikto这玩意儿的工作原理是拿一个巨大的"已知漏洞特征库"往你服务器上怼,不管你实际有没有部署这些东西。它会扫描各种常见的CGI路径、管理后台入口、老旧PHP脚本之类的东西,比如 /cgi-bin//admin//phpmyadmin/ 这种。你一个纯前端Vue项目,编译出来就是一堆静态HTML、CSS、JS文件,哪来的CGI脚本?根本执行不了服务端逻辑。

你用http-server起的服务,它就是个静态文件服务器,不会解析任何服务端脚本,所以那些OSVDB和CGI相关的漏洞报告可以直接无视。

真正值得你关注的是:第一,如果你用了Vue Router的history模式,要注意别让人通过路径遍历访问到不该访问的文件;第二,生产环境部署时记得配置好CSP和X-Frame-Options这些HTTP头;第三,别在前端代码里硬编码任何敏感信息,比如API密钥、token之类的,因为所有人都能看到。

如果你实在想减少这些噪音,可以用 -Tuning 参数让Nikto跳过某些检测类别,或者干脆换成OWASP ZAP的AJAX爬虫模式,对前端项目友好很多。

总之放心睡吧,你这段代码没毛病。
点赞 1
2026-02-28 21:09