您当前的位置: 首页 > 学无止境 > 网站建设 网站首页网站建设
php代码审计-命令注入
发布时间:2016-12-18 15:43:06编辑:雪饮阅读()
在php中使用system函数可实现doc命令的运行如:
建立cs.php:
<?php
$action=$_GET['cmd'];
echo "<pre>";
system($action);
echo "</pre>";
?>
访问:
http://localhost/cs.php?cmd=dir
就可以查看到当前目录:
如你传参“whoami”则会显示当前用户。
exec函数也有相同的效果,不过该函数仅仅输出结果的最后一行,若想要得到完整结果可以给第二个参数,第二个参数在exec执行完毕后将会返回完整结果,然后打印第二个参数即可。如:
<?php
$action=$_GET['cmd'];
echo "<pre>";
echo exec($action,$arr);
echo "</pre>";
?>
passthru函数和system函数几乎无任何差别。
shell_exec函数也和system没有什么差别,只是该函数要在其前面添加echo方能输出到浏览器。
还有一种特殊的使用方法:这种类似单引号的家伙也可以执行doc命令,这种符号被称为执行运算符。
<?php
$action=$_GET['cmd'];
echo "<pre>";
echo `$action`;//这不是单引号
echo "</pre>";
?>
popen函数可以返回一个资源
文件写入示例:
<?php
$action=$_GET['cmd'];
echo "<pre>";
echo shell_exec($action);
echo "</pre>";
?>
访问地址:
http://localhost/cs.php?cmd=echo 'xy' >> xy.txt
关键字词:php代码审计