命令注入执行分析
背景介绍:某单位IT运维人员,在服务器上留了一个页面用来ping内部服务器连通情况。安全工程师"墨者"检查发现这一文件存在漏洞,要求运维人员立刻下线。
点开以后链接以后,是一个漆黑的网页
使用Ctrl+u查看源代码
发现是前端过滤 就可以使用抓包
在入127.0.0.1ping一下发现
判断使用系统
进行抓包
右击发送到Repeater后点击Send发送 查看回显
使用Linux命令 | 尝试查看
在输入最后一行输入|ls进行发送查看
| linux的管道符 管道是一种通信机制,通常用于进程间的通信。它表现出来的形式将前面每一个进程的输出
ls 意思是查看文件夹,试探能不能看到系统的文件 发现有三个文件 以其中一个以K开头 应该是我需要的东西
查看文件 |CAT
发现没有反应 尝试其他方法
在我尝试其他命令时发现把CAT和K中间的空格去掉后数字变红了 尝试发送发现还是不行
到这里应该想到是把空格进行了过滤 下面就应该尝试替换空格
在把空格替换成 发现成功了
Linux下RCE绕过空格限制
针对与Linux操作系统如下
$IFS$9(1-9)都可以
${IFS}
$IFS是什么呢
它是Linux环境变量 $9 是环境变量的第就个值
为什么1-9都行 跟目标操作系统环境有关系
URL绕空格
%09
%0a