Reber's Blog

只会一点点编程、只会一点点渗透


代码执行漏洞(二)

接着上一篇:代码执行漏洞(一)

0x00 函数create_function()

php中的函数create_function()可以创建一个匿名函数,其函数原型如下:

string create_function ( string $args , string $code )
其中$args是函数的参数,$code是函数的内容

若对提交的code未过滤或过滤不当则可能会导致代码执行漏洞

0x01 示例

示例a.php代码如下:

<?php
    $test = @$_GET['test'];
    $newfun = create_function('$a,$b', $test);
    $newfun('1111','2222');
?>
上述代码中$nuwfun('1111','2222')代表此时$a='1111',$b='2222',然后将其传给$test

示例1 示例2 示例3

0x02 函数assert()

这个函数和eval()的作用差不多

<?php @assert($_GET['str']); ?>

函数assert()