搜索

查看: 3227|回复: 11

[PHP] PHP create_function()函数应用实例详解

[复制链接]
发表于 2023-5-4 17:06:32 | 显示全部楼层 |阅读模式
Editor 2023-5-4 17:06:32 3227 11 看全部
目录
  • 前言
  • create_function()简介
  • 函数功能
  • 代码注入实例
  • 0x01
  • 0x02
    前言
    一直遇到过这个 函数,但是不知道怎么利用 这回学习一下这个函数

    create_function()简介
    适用 PHP4>4.0.1 PHP 5 PHP7
    语法:
    create_function(string $args,  string $code)
    string $args 声明的函数变量部分
    string $code 执行的方法代码部分

    函数功能

    2022100815330472.png

    PHP create_function()函数应用实例详解6872 作者:Editor 帖子ID:2986 论坛知鸟论坛_zn60.com


    分析:
    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();/*

    2022100815330473.png

    PHP create_function()函数应用实例详解5801 作者:Editor 帖子ID:2986 论坛知鸟论坛_zn60.com


    还原实际的组合过程:
    $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();/*

    2022100815330474.png

    PHP create_function()函数应用实例详解5285 作者:Editor 帖子ID:2986 论坛知鸟论坛_zn60.com


    还原实际的组合过程:
    $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();
        /*));
    }
    到此这篇关于PHP create_function()函数应用实例详解的文章就介绍到这了,更多相关PHP create_function()函数内容请搜索知鸟论坛以前的文章或继续浏览下面的相关文章希望大家以后多多支持知鸟论坛!
  • 发表于 2023-6-28 22:32:04 | 显示全部楼层
    123456823 2023-6-28 22:32:04 看全部
    感谢楼主的无私分享!要想知鸟论坛好 就靠你我他
    发表于 2023-6-29 00:32:48 | 显示全部楼层
    李志敏 2023-6-29 00:32:48 看全部
    其实我一直觉得楼主的品味不错!呵呵!知鸟论坛太棒了!
    发表于 2023-6-29 14:18:48 | 显示全部楼层
    术数古籍专卖疤 2023-6-29 14:18:48 看全部
    其实我一直觉得楼主的品味不错!呵呵!知鸟论坛太棒了!
    发表于 2023-6-29 20:27:36 | 显示全部楼层
    123456809 2023-6-29 20:27:36 看全部
    这个帖子不回对不起自己!我想我是一天也不能离开知鸟论坛
    发表于 2023-6-30 00:15:18 | 显示全部楼层
    塞翁364 2023-6-30 00:15:18 看全部
    既然你诚信诚意的推荐了,那我就勉为其难的看看吧!知鸟论坛不走平凡路。
    发表于 2023-6-30 01:04:57 | 显示全部楼层
    123456865 2023-6-30 01:04:57 看全部
    既然你诚信诚意的推荐了,那我就勉为其难的看看吧!知鸟论坛不走平凡路。
    发表于 2023-6-30 02:00:00 | 显示全部楼层
    哈哈SE7 2023-6-30 02:00:00 看全部
    其实我一直觉得楼主的品味不错!呵呵!知鸟论坛太棒了!
    发表于 2023-6-30 03:04:41 | 显示全部楼层
    丁侦球 2023-6-30 03:04:41 看全部
    楼主,我太崇拜你了!我想我是一天也不能离开知鸟论坛
    发表于 2023-6-30 09:50:15 | 显示全部楼层
    小妖花满楼满fx 2023-6-30 09:50:15 看全部
    这东西我收了!谢谢楼主!知鸟论坛真好!
    • 您可能感兴趣
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则 返回列表

    RSS订阅| 小黑屋| 知鸟论坛 |网站地图
    本站资源来自互联网用户收集发布,如有侵权请邮件联系处理。 联系邮箱E-mail:zniao@foxmail.com
    快速回复 返回顶部 返回列表