ssl-hearbleed.nse模块
又一个让人心碎的帖子
更新:丹尼尔米勒告诉我,这个修改是没有必要的。无论portrule函数的结果如何,您都可以通过在scriptname前面加上一个+来强制脚本在所有打开的端口上运行。像这样:nmap-p443-script+ssl heartbleed cloudflarechallenge.com
我读到一些人对Nmap的ssl-heartbleed.nse脚本行为感到惊讶:它不会测试所有端口。
该脚本设计为仅使用ssl测试端口。这是在portrule函数中编码的:
这里解释了应该执行服务版本检测扫描(-sV),以便脚本测试异常端口。
如果不想执行服务版本检测扫描,可以将portrule函数更改为始终返回true,从而强制对所有打开的端口进行测试。
但这种解决方案并不理想,最好使用脚本参数,以便在真正需要时强制测试。
我将ssl-heartbleed.nse(SHA1 7540e31ef13226648616df6534a8bd58c35a3d6)复制到ssl-heartbleed-force.nse并更改了portrule函数,如下所示:
通过此更改,ssl heartbleed force的行为将与ssl heartbleed完全相同,除非使用脚本参数ssl-heartbleed-force.force,如下所示:
此脚本参数将在所有打开的端口上强制测试。