command injection

一、什么是命令注入

1、概念
通过web应用程序在服务器上拼接系统命令。简单说就是注入的命令是系统命令,而注入是靠连接来完成的。
常见的windows命令:
ipconfig,查看本地网络
net user,查看系统用户
dir “./ ” 查看当前目录
等等
常见的命令拼接符有&&, & ,|, ||

。

二、尝试low等级

输入127.0.0.1发现输出的内容就是在cmd执行ping命令的结果,也就是说它调用了系统命令,于是我们尝试下
输入127.0.0.1 & net user注入成功
在这里插入图片描述

三、尝试medium等级

在这里插入图片描述

四、尝试下high等级

在这里插入图片描述
发现注入,那么我们采用 | 连接,发现注入成功
在这里插入图片描述
我们查看源码,发现了原因
在这里插入图片描述

五、尝试下impose等级

在这里插入图片描述
发现它现在了我们的IP格式,这就是所谓的白名单,可以有效的防止命令注入。不推荐黑名单,应该可以通过双引号,略过黑名单。linux下还支持单引号

在这里插入图片描述
如果不输出显示结果怎么办
在这里插入图片描述

0%