HackerGame2023 HTTP 集邮册 wp

发布时间 2023-11-06 01:14:00作者: 折翼的小鸟先生

前言:在打hg2023时这题只写出了第一部分,故在比赛结束后学习记录一下

题目描述

1.1第一小问

该部分是通过发送http请求报文获得5种状态码,较为简单

1:202 202表示请求接受成功,直接发送默认的报文即可

GET / HTTP/1.1\r\n
Host: example.com\r\n\r\n

2: 404

想要获得404,需要我们请求一个不存在的文件,随便填个文件地址即可

GET / index.php HTTP/1.1\r\n
Host: example.com\r\n\r\n

这样就可以获得404了

3:400

触发400的方式是请求报文的格式错误

ddddd / HTTP/1.1\r\n
Host: example.com\r\n\r\n

所以随便打点什么东西即可

4:505

触发505的条件是http请求的版本号发生了错误,想要获得只需修改版本号即可

GET / HTTP/1.1.1.1.1\r\n
Host: example.com\r\n\r\n

比如这样

4:405

触发405的条件是请求方法不被允许,随便给一个请求方式即可,比如post

POST / HTTP/1.1\r\n
Host: example.com\r\n\r\n

这样就获得第一小问的flag

2.2第二小问

该部分是获得无状态码

通过搜索我们知道HTTP/0.9时是不使用状态码的,http协议在0.9版本时只能支持get请求,直接后面跟url,没有

别的东西,规范如下

GET / \r\n

当然你也可以在get后跟上你的url。在http0.9版本中,服务器域名直接和请求文件地址放在一起组成url,不像后

来的http版本那样需要写在Host

这样就获得了第二个flag