这个漏洞存在于Nostromo web服务上(又名nhttpd),这是一个开源的web服务,在Unix系统上非常流行,例如FreeBSD, OpenBSD等等。
Nostromo由于在验证URL安全性方面存在缺陷,导致目录穿越,任何人都可以遍历系统中任何文件。因此未经过身份验证的远程攻击者可以强制服务器指向/bin/sh
这样的shell文件,借此执行任意命令。在我测试时,Nostromo的所有版本,包括最新的1.9.6版本,都存在漏洞。甚至它的开发者网站[www.nazgul.ch](http://www.nazgul.ch)
也有。
在以前Nostromo也出现过目录穿越漏洞,最终也可导致远程命令代码,编号为CVE-2011-0751
。漏洞原因在于当时的web服务在对URL进行检查的时机是在URL被解码前,因此攻击者只需将/
转换为%2f
就可绕过检查,最后paylaod如下:
/..%2f..%2f..%2fbin/sh
利用
在Shodan上进行搜索,你可以在公网上找到大约2000个Nostromo web服务:"Server: nostromo"
![](https://img2018.cnblogs.com/blog/1172529/202001/1172529-20200104112925799-1084326136.png)
exp地址:https://github.com/jas502n/CVE-2019-16278
利用: