RHEL环境下Docker运行Wappalyzer如何禁用证书校验?
解决Docker中Wappalyzer扫描IP站点的证书校验问题
我之前也碰到过类似的情况——用Wappalyzer CLI扫IP绑定的HTTPS站点时,因为证书域名不匹配,直接被校验机制拦住了。下面给你几个可行的解决办法,和wget的--no-check-certificate作用类似:
方法一:直接给Wappalyzer CLI传递忽略证书参数
Wappalyzer的CLI是基于Puppeteer(无头Chrome)开发的,所以可以直接传递Puppeteer的--ignore-certificate-errors参数跳过证书校验。你只需要在Docker运行命令里加上这个参数就行:
docker run wappalyzer/cli --ignore-certificate-errors https://你的目标IP地址
这个参数会让底层的无头Chrome忽略所有证书相关错误,包括域名不匹配、自签名证书等问题,刚好解决IP站点的扫描障碍。
方法二:通过环境变量全局禁用容器内的证书校验
如果不想每次运行都手动加参数,可以在启动容器时设置Node.js环境变量NODE_TLS_REJECT_UNAUTHORIZED=0,这个变量会让Wappalyzer依赖的Node.js环境直接禁用TLS证书校验:
docker run -e NODE_TLS_REJECT_UNAUTHORIZED=0 wappalyzer/cli https://你的目标IP地址
不过要注意,这个方法是全局禁用容器内Node程序的TLS校验,如果你只是临时扫描IP站点,用第一种方法会更精准。
关于RHEL层面的说明
其实RHEL主机层面的证书校验设置不会直接影响Docker容器内的Wappalyzer,因为容器是独立的隔离环境。就算你修改主机的证书配置,也解决不了IP站点证书域名不匹配的本质问题,还是得在容器内的Wappalyzer/Chrome层面跳过校验才行。
内容的提问来源于stack exchange,提问作者mtbike61384




