前言
简单介绍下漏洞执行漏洞:
命令执行(Command Execution)漏洞即我们可以直接在Web应用中执行系统命令,从而获取敏感信息或者拿下shell权限。命令执行漏洞可能造成的原因是Web服务器对用户输入命令安全检测不足,导致恶意代码被执行。更常见的命令执行漏洞是发生在各种Web组件,包括Web容器、Web框架、CMS软件、安全组件等。
提示:以下是本篇文章正文内容,下面案例可供参考
一、命令执行的利用
在这里用的是MS08067的靶场: 地址放这里,想去玩玩的可以试一下
首先进来后点击超链接,跳转到rce.php界面 到这里很多小伙伴表示没什么思路了,一片空白,看源码也是什么都没有 其实这里的秘密在于rce.php的后面 发现没,既然靶场给的是命令执行,那么他在.php后面一定存在着执行命令的接口,后端命令差不多是这样
$result.=shell_exec('ping '.$ip);//直接将变量拼接进来,没做处理
这里可能又有小伙伴想说,那平时也没人闲的在后面加上这玩意,所以该漏洞普遍存在于常见的路由器、防火墙、入侵检测等设备的web管理界面上,因为上面会存在一个ping功能,让大家自行输入IP来验证设备是否安装成功,且界面在创造时没做处理,导致我们可以任意输入。 我们在后面接上逻辑运算符 && +命令 大家看到,ls命令似乎并没有执行,判断是&&被识别干掉了,我们转码试试将&转为%26 嗯,看来是成了,接下来跟大家分享一个有趣的方法
二、有趣的点来了
今天新学了一招,在这里分享给大家 利用点:对方设置的规则太过全面,导致我们没法成功命令执行。 用到的命令:赋值+$调用,
这里美元符号的作用就是调用变量的值 path=China No1 $path=China No1
我们怎么利用呢,在这里可能有小伙伴已经猜出来了 当我们输入完整的命令想要到对方服务器上执行,大概率会被杀掉,可我们拆开用$符号取值,就可以完美的避开,实验截图如下
原版:
小妙招版
这里解释一下:假设当cat被ban掉不能使用,我们可以拆开赋值,在利用$符号去进行合并,这样可以绕过对方的规则,使得cat命令成功执行 命令写在这里,还不明白的小伙伴,请打开linux,复制粘贴命令,一点就通
a=c;b=at;$a$b /etc/passwd
是不是很神奇哈哈哈,其实就是很简单的命令利用,但是往往最基础的是最令人忽略的,也是最重要的。
这篇我文章就到这,觉得写得还不错的小伙伴请一键三连! 谢谢大家
|