Javascript 缓冲区溢出-ZAP扫描报告-typescript文件中的节点JS microservice 个人模式: 职位:https://localhost:8080/api/personData/12345/change 邮政有效载荷:

Javascript 缓冲区溢出-ZAP扫描报告-typescript文件中的节点JS microservice 个人模式: 职位:https://localhost:8080/api/personData/12345/change 邮政有效载荷:,javascript,node.js,typescript,buffer-overflow,zap,Javascript,Node.js,Typescript,Buffer Overflow,Zap,{“person”:{“personId”:“satishkonda”} 节点js web服务使用person模式验证请求有效负载 使用OWSAP ZAP 2.9.0调用上述rest post请求以进行DAST扫描,获取低于缓冲区溢出的介质扫描报告 缓冲区溢出错误的特点是后台web进程的内存空间被覆盖,而这些内存空间本不应该被有意或无意地修改。覆盖IP(指令指针)、BP(基指针)和其他寄存器的值会导致出现异常、分段错误和其他进程错误。通常,这些错误会以意外的方式结束应用程序的执行 我对DAST扫

{“person”:{“personId”:“satishkonda”}

节点js web服务使用person模式验证请求有效负载

使用OWSAP ZAP 2.9.0调用上述rest post请求以进行DAST扫描,获取低于缓冲区溢出的介质扫描报告

缓冲区溢出错误的特点是后台web进程的内存空间被覆盖,而这些内存空间本不应该被有意或无意地修改。覆盖IP(指令指针)、BP(基指针)和其他寄存器的值会导致出现异常、分段错误和其他进程错误。通常,这些错误会以意外的方式结束应用程序的执行


我对DAST扫描有点陌生。所以我试图通过搜索谷歌找到根本原因,但没有用。请对此提供帮助

ZAP是开源的,因此您可以自己查看扫描规则的源代码。可从以下网址获得:

这会让你明白为什么它会触发你

当然,结果可能是假阳性

从我的快速查看中,它发送了一个巨大的参数值(2100个字符),并检查响应是否存在内部服务器错误和
连接:close

如果你的应用程序就是这样运行的:

  • 也许它是脆弱的
  • 也许它需要一些更健壮的错误/输入处理
  • 也许这是一个假阳性结果,你可以过滤掉它:
  • import JoiBase from '@hapi/joi';
    import JoiDate from '@hapi/joi-date';
    
    const Joi = JoiBase.extend(JoiDate);
    
    const personSchema = Joi.object().keys({
      person: Joi.object().keys({
        personId: Joi.string().max(255).allow(null, '').required()
      }),
    });
    
    export default Joi.alternatives().try(
      personSchema,
    );