Parece que você está seguindo um tutorial ou um livro, e essa é uma maneira insolente de testar se você aprendeu o básico.
Calling http://103.200.7.150:7777/ via curl or browser yields the following output:
Please send me request method GET and POST with params "gimmeflag" and value "please"
Vamos dividi-lo em duas partes, já que você quer saber como é feito com curl
(veja man 1 curl
ou o manual de curvas ).
Usando GET para enviar sua solicitação:
Este é muito fácil se você souber como se parece um query-string
.
On the World Wide Web, a query string is the part of a uniform resource locator (URL) containing data that does not fit conveniently into a hierarchical path structure. The query string commonly includes fields added to a base URL by a Web browser or other client application, for example as part of an HTML form.
A web server can handle a Hypertext Transfer Protocol request either by reading a file from its file system based on the URL path or by handling the request using logic that is specific to the type of resource. In cases where special logic is invoked, the query string will be available to that logic for use in its processing, along with the path component of the URL.(source)
Você deseja enviar um parâmetro gimmeflag
e um valor please
. Portanto, a linha que você deseja solicitar com curl
é:
curl -X GET http://103.200.7.150:7777/?gimmeflag=please
The result you get back from the server:
KSL{n0w_y0u_Know_How_To
Usando o POST para enviar sua solicitação:
Dada a linha GET, o POST é muito fácil, apenas substitua o GET pelo POST:
curl -X POST http://103.200.7.150:7777/?gimmeflag=please
The result you get back from the server:
_S3nD_r3quesT_Meth0d_GET_AND_POST}
Para concluir isto:
# Thanks to @pa4080 for this line
printf '%s%s\n' \
"$(curl -X GET http://103.200.7.150:7777/?gimmeflag=please 2>/dev/null)" \
"$(curl -X POST http://103.200.7.150:7777/?gimmeflag=please 2>/dev/null)"
KSL{n0w_y0u_Know_How_To_S3nD_r3quesT_Meth0d_GET_AND_POST}