攻防世界-WEB:get_post

题目https://adworld.xctf.org.cn/challenges/problem-set-index?id=25&rwNmOdr=1678625634749

攻防世界-WEB:get_post_第1张图片

题目描述:X老师告诉小宁同学HTTP通常使用两种请求方法,你知道是哪两种吗?

HTTP 方法

  • GET

  • POST

  • PUT

  • HEAD

  • DELETE

  • PATCH

  • OPTIONS

最常用的两种方法是:GET 和 POST。

GET 方法

GET 用于从指定资源请求数据。

GET 是最常见的 HTTP 方法之一。

请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:

/test/demo_form.php?name1=value1&name2=value2

POST 方法

POST 用于将数据发送到服务器来创建/更新资源。

通过 POST 发送到服务器的数据存储在 HTTP 请求的请求主体中:

POST /test/demo_form.php HTTP/1.1

Host: w3school.com.cn

name1=value1&name2=value2

最直接的区别:

  1. GET请求的参数是放在URL里的,POST请求参数是放在请求body里的;

  1. GET请求的URL传参有长度限制,而POST请求没有长度限制;

  1. GET请求的参数只能是ASCII码,所以中文需要URL编码,而POST请求传参没有这个限制;


简单了解HTTP的两种请求方法后,我们打开题目

攻防世界-WEB:get_post_第2张图片

很直接的把提示告诉了我们,按照GET请求方式,我们在URL后加上需求?a=1

攻防世界-WEB:get_post_第3张图片

页面回显提示再以POST方式提交一个b=2的变量

攻防世界-WEB:get_post_第4张图片

首先将HackBar下方Post data点击选用

然后在框内输入需求变量b=2

最后点击Execute提交

攻防世界-WEB:get_post_第5张图片

成功获取到flag

cyberpeace{398854238609715fb0fa1904f0629213}

这时候我们对网址刷新抓个包就可以看见 POST请求参数是在body中的

攻防世界-WEB:get_post_第6张图片

如果不适用HackBar,通过bp也可以完成

对网页抓包加上需要变量,再改变请求方式

攻防世界-WEB:get_post_第7张图片

添加需求变量b=2即可获得flag

攻防世界-WEB:get_post_第8张图片

两种方式各有各的好,HackBar方便解题省去复杂的步骤;bp相对麻烦,但能更直观的对比GET请求和POST请求的不同。

你可能感兴趣的:(攻防世界,安全,学习)