题目信息
相关知识
-G:表示GET请求,缺省POST
-d参数用于发送 POST 请求的数据体
使用-d参数以后,HTTP 请求会自动加上标头Content-Type : application/x-www-form-urlencoded。并且会自动将请求转为 POST 方法,因此可以省略-X POST。
linux下使用GET url传参时注意转义:
curl "http://127.0.0.1/api/test\?name\=cat"
1、通过post方法请求
curl -d 'type=0?enable=1' "http://127.0.0.1/api/test"
- 传递json:
curl -H "Content-Type: application/json" -X POST -d '{"type":0, "enable":"1"}' "http://127.0.0.1/api/test"
实际使用哪种,看接口需要的是json还是字符串
- 通过GET方法请求(wireshark抓包确认是GET请求):
curl "http://127.0.0.1/api/test"
GET请求方法传参(wireshark抓包确认是GET请求):
curl "http://127.0.0.1/api/test?name=cat"
分析过程
对如Get问题中由于get请求可以在url中进行添加,所以只需要把url进行修改即可:
http://61.147.171.105:54730/?a=1
解题过程
http://61.147.171.105:54730/?a=1
此处需要以post方式传入b的值,在终端输入:
curl -X POST -d 'b=2' 'http://61.147.171.105:54730/?a=1'
结果为:
即可获得相应的flag