命令行注入教程

命令行注入,其实是通过WEB程序,在目标服务器上拼接操作系统命令的一个过程。所指的命令是操作系统的命令,不同操作系统,命令名称及格式各不相同,今天以Windows操作系统为例,给大家讲解命令行注入过程。

我们先打开DVWA,并设置安全级别为最低,即为Low,如下图所示:

进入到命令行注入演示分类中。

此页面是用来测试网络是否畅通的方法,我们在“Enter an IP address”处输入我们测试的IP地址,并点击“Submit”按钮进行提交(我们输入的IP地址为网关地址),如果如下图所示。

我们可以看到红框内反馈回来的结果,先看看反馈回来的信息是不是很眼熟,其实它与我们在Windows下使用ping命令反馈回来的结果很像,那我们就可以猜想,这里可能存在命令行注入漏洞。接下来,来一张CMD下ping命令的对比吧。

大家看一看是不是很像啊,这样就更确定当前网站所使用的方法可能是直接调用了系统的ping命令来完成的。当然大家可能会说页面上怎么是乱码?这个是因为我们的页面使用的编码格式是UTF8,而Windows默认使用的编码是GBK,所以会产生乱码,这样我们也会更加确认页面直接调用系统ping命令的可能性。

在Windows下的CMD模式下,我们使用命令其实是可以进行拼接的(拼接可以使用“&&”),如我们在ping的同时,可以查看当前目录下所有文件。

我们在图中可以看出,我们使用“&&”进行命令拼接后,会有两部分数据的反馈,所以我们将这个加入到页面中进行测试。

通过测试我们可以100%确认,此网站存在命令行注入漏洞,那我们就可以通过这个漏洞为所欲为了,举个例子,如果这个网站的服务器使用的是Windows2008或更高的版本(也可能低一些),那么,我就可以使用拼接命令的方式创建用户,将用户加入到管理员组中,如果这个服务器开放3389端口(即例没有开,我们也可以使用其它方法将其开启),那么我就可以远程连接到服务器上,做自己的快乐事了。

补充知识拼接符说明:

A && B : 命令A执行成功后,才会执行命令B。

A & B :命令A与命令B简单拼接,之前并无约束关系。

A || B :命令A执行失败后,才会执行命令B。

A | B :命令A的输出作为命令B的输入。

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只陨落的C设计者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值