命令执行漏洞

命令执行漏洞

开发人员在进行开发的过程中,或多或少都会调用一些执行系统命令的函数,如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等。对于开发人员而言,使用这些函数可以方便去除系统的特殊功能等。但是也会带来一些命令执行漏洞。

黑客在渗透应用时,可能控制了某些函数中的参数,从而把想要执行的恶意代码接入到原来的正常代码中一起执行。

PHP命令执行漏洞

PHP是一门脚本语言,比较简洁、方便,但是不是事先编译好的运行速度上自然是没有优势的。而且他不能接触到系统底层,所以就必须要调用系统函数来执行一些指令,自然就造成了漏洞。

举几个例子来说明问题:

<?php
	System($_GET['cmd']);
?>

这个我觉得也可以算一句话木马吧,结合命令执行的密码,很多时候程序员代码过滤环节到位,PHP命令执行漏洞很少,我们可以自己创造。

我将其上传到DVWA里,进行访问http://192.168.42.157/DVWA/hackable/uploads/1.php?cmd=ipconfig

在这里插入图片描述

可以看到我输入的命令在系统中被执行了。

再试一个简单的案例:

<?php
	$cmd=($_GET['cmd']);
	System("ping ".$cmd);
?>

编写是要注意在ping后面留空格,毕竟cmd命令还是很吃格式的,格式错了那么效果可能就达不到了。一开始写的时候没有注意这个地方,试了一会儿都出不来结果,最后打开cmd对着看了才发现了空格漏了。

然后上传到DVWA靶机,在访问http://192.168.42.157/DVWA/hackable/uploads/1.php?cmd=www.baidu.com

在这里插入图片描述

结果可以看出我输入的参数被成功执行了。
这就是两个PHP的简单实例,当然除了代码里的系统函数调用的原因,还有可能是系统本身的漏洞造成命令执行。还有可能是调用的第三方组件纯在代码执行漏洞。这里我目前只有接触到PHP的所以就先这样了,还有很长的路需要走。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值