一.命令执行漏洞
常见命令执行函数
system
passthru
exec
shell_exec
popen
pron_open
pcntl_exec
dl
xx
命令执行过滤函数
escapeshellcmd
escapeshellarg
asp
<%response.write server.createobject("wscript.shell").exec("cmd.exe /c
net start msdtc).stdout.readall%>
关键字exec system
二.代码执行
#①最常见
eval()
assert()
#②回调函数
call_user_func() call_user_func_array() array_map()等-->因为可直接调用函数逆向回去导致的
如
<?php
$arr=$_GET['arr'];
$array=array(1,2,3,4,5);
$new_array=array_map($arr,$array);
?>
可以这样代-->即可成功执行phpinfo函数
arr=phpinfo
③动态执行函数
<?php
$_GET['a']($_GET['b']);//接受get请求a的参数作为一个函数,b是作为a函数里的参数
>
④正则匹配的
mixed preg_replace(mixde $pattern,mixed $replacement,mixed $subject[,int $limit = -1[,int &$count]])
php代码审计 执行漏洞
三.XML实体注入
PHP XML解析函数
simplexml_load_file
simplexml_load_string
SimpleXMLElement
DOMDocument
xml_parse
如
有输出的
直接搜索关键字进行审计就完事
$data = file_get_contents('php://input');
$object = simplexml_load_string($data);
//...
echo $object->name;