我想满足OWASP ASVS 14.3.3的要求,即:
14.3.3 验证 HTTP 标头或 HTTP 响应的任何部分不会公开系统组件的详细版本信息。
对于 ActiveMQ 代理。 我对STOMP
协议CONNECTED
消息有问题,如下所示:
CONNECTED
server:ActiveMQ/5.15.9
heart-beat:0,10000
session:ID:localhost.local-36323-1578488170638-3:15
version:1.2
user-name:user@example.com
并揭示(假设的邪恶(我的ActiveMQ
经纪人版本 所以我的问题是如何隐藏整个server
标题,或者如果不可能,可能是它的版本部分。
这可以通过少量黑客操作来完成
- 由于标头
server
由代码中的常量BROKER_VERSION
设置 这里 - 常量
BROKER_VERSION
的值从类路径位置读取/org/apache/activemq/version.txt
- 我们必须覆盖
/org/apache/activemq/version.txt
的内容,这些内容令人惊讶地驻留在 activemq-client 中
。