代码审计命令执行专题

一.命令执行漏洞

常见命令执行函数

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;

 

代码审计命令执行专题

上一篇:You need to run build with JDK or have tools.jar on the classpath.If this occures during eclipse build make sure you run eclipse under JDK as well 错误


下一篇:企业邮箱服务该怎么选择?