文档章节

【php】eval

yongh701
 yongh701
发布于 2018/05/01 12:47
字数 545
阅读 71
收藏 0

eval或许在我们平时写网页的时候很少使用,但涉及安全领域,php中的eval是非常常见,下面就来说说eval是什么?

 

一、eval的基本使用

要说eval,首先要从一段连只会写php Helloworld的萌新都能看懂的代码说起。

首先,这段代码的运行结果是什么?

<?php
$str = "echo 'abc';";
echo $str;
?>

估计大家连个运行结果截图都不用看了,就是echo 'abc';

可是,要是将echo改成eval,也就是:

<?php
$str = "echo 'abc';";
eval ($str);
?>

那么程序的运行结果,就变成abc:

也就是上面的echo 'abc',被php执行了!

 

二、eval被黑客的运用

正常情况,我们写php网页,该是什么就写什么代码,几乎很少情况在eval中镶嵌一段又一段代码来绕晕自己和与我们一同开发的队友。因此eval对于开发者来说,或许是一个冷门的关键字。

可是eval对于黑客来说,就用处大了。比如,在你的服务器,挂个php,或者找个安全漏洞,上传个php到你的服务器,这个php如下。

<?php
eval ($_POST['a']);
?>

就这么简单。

首先,这个php会接收以post形式传过来的,name=a的东西,当然黑客要是嫌麻烦改成get,直接在浏览器的地址栏传参数也行。post、get传参数是很基本的东西了,这就不再赘述了,不会的可以参考《【php】基本语法与页面之间数值传递》(https://blog.csdn.net/yongh701/article/details/41908237)。

然后,由于eval的存在,这个php会执行以post形式传过来的,name=a的东西。这样的话,由于php是能直接操作服务器上的文件的,所以黑客只要能将这个php放到你的服务器,同时用抓包工具找到这php上传之后的地址,基本就是可以控制你的服务器的意思的。

和jsp的菜刀基本是同一个意思

所以,基本上,你看到大部分网站的上传的地方都做了文件上传类型的识别。

© 著作权归作者所有

yongh701
粉丝 27
博文 17
码字总数 10682
作品 0
佛山
私信 提问
统计php更改文件,可疑文件

#!/bin/bash #wirte by zhenglong 20150818 #Centos # php Trojan checking email="1525356778@qq.com" rm -rf /tmp/file.txt echo "Contain suspicious files:" >> /tmp/file.txt find / -n......

blank614
2015/08/24
0
0
任意代码执行漏洞

0x00 什么是任意代码执行 当应用在调用一些能将字符串转化成代码的函数(如PHP重的eval)时,没有考虑用户是否能控制这个字符串,将造成代码注入漏洞。狭义的代码注入通常指将可执行代码注入...

nw01f
2016/07/25
0
0
【宇润日常疯测-002】Redis->eval() 到底好在哪

平时你用 Redis 是不是经常 、一把梭?其实 Redis 中还有很多有用的数据结构,以及各种方法。今天宇润就来测试一下方法。 Redis Eval 官方说明(节选) 从 Redis 2.6.0 版本开始,通过内置的...

宇润
2018/12/07
206
2
那些强悍的PHP一句话后门

强悍的PHP一句话后门 常用一: 所以连起来就是 assert(${_POST

科技小能手
2017/11/12
0
0
PHP将数组转为json出现的中文乱码的问题

将GBK编码的含有中文数组转为json格式,先将每个值进行urlencode,然后json_encode,最后urldecode即可。 2.将json转为数组 3.终极处理方法,对数组进行编码转换 用途:中文处理,在返回json时...

Corwien
2016/01/26
568
7

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
16
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
18
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部