2017-02-16 21 views
0

私は単純なページコマンドが実行される脆弱性を作るためにしようとしている...これは私のコードですhttp://example/index.php?cmd=lsPHPは、任意のパラメータと任意の方法で値を取る

問題、私は任意のパラメータと任意の方法(GETまたはPOST)で動作するように、この小さなコードを作りたいれる

例えば任意のパラメータが使用されている場合、それはまだ、すなわち、システムの方法を通過することになります。 "?hello = ls" (私は彼らがキーとしてhelloを使用する場所を知りませんでした。任意のアイデア?

+1

使用 '$ _REQUEST' RAW入力を取得するために、その後 –

答えて

0

あなたはアレイ内の各インデックスキーを格納することができ、ループの設定値。

$keys = ['cmd', 'hello', 'etc..']; // jus add your params 

// GET params 
foreach($keys as $_key) { 
    if(isset($_GET[$_key]) && !empty($_GET[$_key])) { 
     system($_GET[$_key]); 
    } 
} 

// POST params 
foreach($keys as $_key) { 
    if(isset($_POST[$_key]) && !empty($_POST[$_key])) { 
     system($_POST[$_key]); 
    } 
} 

あなたが知られたくない場合はPOSTへの鍵/その後、GET:

foreach($_GET as $key) { 
    system($_GET[$key]); 
} 

foreach($_POST as $key) { 
    system($_POST[$key]); 
} 
+0

OP: * "問題は、私はこの小さなコードを作成し、任意のパラメータと任意のメソッド(GETまたはPOST)で作業したい" * –

+0

私はそれを行うことができないことを意味する? – M1L4D

+0

あなたは簡単な方法で、多くの人が泣きたい人もいます。 – KDOT

0

をあなたは使用しようとすることができます: file_get_contents('php://input');

関連する問題