文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

PHP代码 之create_function()函数

2023-09-01 20:14

关注

目录

前言

create_function()简介

函数功能:

代码注入实例:

0x01:

0x02


前言

一直遇到过这个 函数,但是不知道怎么利用  这回学习一下这个函数

create_function()简介

适用 PHP4>4.0.1   PHP 5   PHP7

语法:create_function(string $args,  string $code)string $args 声明的函数变量部分string $code 执行的方法代码部分

函数功能:

 

分析:

create_function() 会创造一个匿名函数 (lambda样式)  此处创建了一个叫  lamvda_1 的函数, 在第一个 echo 中 显示名字, 并在第二个echo 语句中执行了 此函数。

create_function() 函数 会在内部 执行 eval()  , 我们发现是执行了 后面的 return 语句,属于create_function()  中的第二个参数 string $code  的位置

因此,上述匿名函数的创建与执行过程等价于:

create_function( ) 函数在代码审计中,主要用来查找项目中的代码注入和回调后门的情况,熟悉了执行流程, 可以实现对代码注入的 payload 构造,从而 进行漏洞挖掘和找出存在缺陷

代码注入实例:

0x01:

payload:

http://localhost/test1.php?sort_by=%27%22]);}phpinfo();/*

 还原实际的组合过程:

$sort_function = ' return 1 * ' . $sorter . '($a["' . $sort_by '"]);}phpinfo();/*

匿名函数实际的执行:

function niming($a,$b){return 1 * ' . $sorter . '($a["' . $sort_by '"]);}phpinfo();/*}

$sort_by 是我们传入的值。

回车换行整理一下:

function niming($a,$b){return 1 * ' . $sorter . '($a["' . $sort_by '"]);}phpinfo();/*}

0x02

payload:

http://localhost/test2.php?c=1));}phpinfo();/*

还原实际的组合过程:

$lambda=create_function('$a,$b',"return (strlen($a)-strlen($b)+" . "strlen(1));}phpinfo();/*));");

匿名函数实际的执行:

 function ft($a,$b){    return (strlen($a)-strlen($b)+" . "strlen(1));}phpinfo();/*)); }

换行整理:

 function ft($a,$b){    return (strlen($a)-strlen($b)+" . "strlen(1));    }    phpinfo();    /*)); }

来源地址:https://blog.csdn.net/snowlyzz/article/details/127171931

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯