HTTP返回中默认header的Server字段会填上httpd/1.3.2(当前hv版本号), 会被安全扫描软件误认为是apache http server报错
chaojizhuoge opened this issue · comments
Zhuo Li commented
void HttpHandler::addResponseHeaders() {
HttpResponse* pResp = resp.get();
// Server:
static char s_Server[64] = {'\0'};
if (s_Server[0] == '\0') {
snprintf(s_Server, sizeof(s_Server), "httpd/%s", hv_version());
}
pResp->headers["Server"] = s_Server;
// Connection:
pResp->headers["Connection"] = keepalive ? "keep-alive" : "close";
}
能否将Server中的httpd改成其他libhv或者其他更具标志性的字段以便和apache httpd区分
ithewei commented
1、为什么误认为是httpd就会报错;
2、你可以自行通过resp->headers["Server"] 重新设置一个;
Zhuo Li commented
- 公司目前使用的多款安全扫描工具,都会把httpd/1.3.2误认为是apache http server, 然后对比版本号,1.3.2对于apache http server是个很老的版本号,会报出很多NVD已知的安全漏洞
- 我目前是这么做的,我只是建议默认的字段可以更有标志性一点