一、知识点

此题考察了HTTP的知识点。

1.1 HTTP常见的请求方法

  • GET:通常用于直接获取服务器上的资源;
  • POST:一般用于向服务器发送数据,常用于更新资源信息。

1.2 HTTP请求状态码

  • 200:请求成功;
  • 302:临时跳转,会跳转到Location头所指向的地址;
  • 304:访问缓存;
  • 404:所请求资源不存在;
  • 405:方法不被允许;
  • 500:服务器内部错误。

1.3 UA头伪造漏洞的概念及利用方法

UA头,全称User-Agent。每个HTTP请求中都会携带UA头。这个头会包含我们所使用的操作系统版本、CPU、浏览器类型等;利用BP抓包。

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36

对其进行说明:

  • Windows NT 10.0;Win64;X64:表示Win10 64位操作系统。
  • Chrome/139.0.0.0:谷歌浏览器版本号

在Web开发中,一般会根据UA头来判断客户端使用什么设备或者什么浏览器访问来进行页面适配,或者说禁止某些浏览器访问。

1.4 返回头分析方法

GET HTTP/1.1 200 OK
Host: www.baidu.com
Cookie: BAIDUID_BFESS=D2865BCB81FE5F26218794ED0568EC52:FG=1; BIDUPSID=D2865BCB81FE5F26218794ED0568EC52; PSTM=1757660226; ZFY=:B9iz2jk568VV3YiqJfaF5b47DJfAVL4art:Bshg74tMk:C; H_WISE_SIDS=63325_63948_64450_64649_64746_64701_64814_64817_64850_64872_64876_64833_64901_64914_64934_64968_64974_65007_65018_65075_65085_65127_65141_65139_65137_65187_65204_65219_65248_65144_65258; baikeVisitId=dea83034-96de-4e32-8543-1cad289fc0d1; H_PS_PSSID=63325_64746_64814_64817_64872_64833_64901_64914_64968_64974_65007_65018_65127_65139_65187_65204_65219_65248_65258_65269_65368_65374_65177_65416_65465_65457; BD_HOME=1; BD_UPN=12314753
Sec-Ch-Ua-Platform: "Windows"
Ps-Dataurlconfigqid: 0xe692b1fa00274a15
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36
Accept: application/json, text/javascript, */*; q=0.01
Sec-Ch-Ua: "Not;A=Brand";v="99", "Google Chrome";v="139", "Chromium";v="139"
Sec-Ch-Ua-Mobile: ?0
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://www.baidu.com/

从这个百度抓的包可以看见几个比较重要的信息:

  • HTTP状态码:具体可参考1.2
  • Cookie值:可以修改cookie的值,或许会有越权之类的漏洞
  • Referer:Referer头会告诉服务器用户是从哪个页面来,

这些在爬虫中也可以进行一些反爬的操作,但与本文无关,不过多解释。

1.5 POST与GET的区别

1.5.1 对于GET

GET /name.php?name=benben HTTP/1.1
HOST:172.250.250.4

要注意的是HTTP/1.1 不代表这是HTTP协议

要注意的是请求头后面要有一个请求换行,后面紧跟请求体(请求体可以为空)

1.5.2 对于POST

POST /pages/search.isp
Host:127.0.0.1
Content-Type:application/x-www-form-urlencoded
Coontent-length:6

wk=SQL

要注意的是Content-Type的类型为MIME类型(可以参考此网站:https://www.runoob.com/http/mime-types.html),同时Content-length的长度与请求体的内容长度相同。

二、题目

打开题目我们发现,题目提示用HS请求试试,所以此时我们可以通过抓包,进行更改包,即更改图中位置(这里最好发送到重放器)

将请求方式改为HS后,发送,提示用本地地址才可以,此时需要添加X-Forwarded-For板块(这类可以参考文章:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Reference/Headers/X-Forwarded-For

得到提示是从www.ltyyds.com得来的,所以此时,需要用到Referer

得到新的提示,只有LT为官方的浏览器,此时,只需要将User-Agent进行更改即可

于是乎成功得到了flag

Logo

更多推荐