hGame2020第一周题解

 

Web:

1.接 头 霸 王:

知识点是几个重要关键字的使用:

          一:Referer的含义自行百度或者参考:

         二:(X-Forwarded-For参考:https://baike.baidu.com/item/X-Forwarded-For/3593639?fr=aladdin)

         三:User-Agent:  https://blog.csdn.net/weixin_43900387/article/details/104086069

        四:   POST 方法

        五: Last-Modified: 和 If-Unmodified-Since:

               详情参考: https://blog.csdn.net/weixin_43900387/article/details/104085435                

                        和    https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/If-Unmodified-Since

 

 

 

直接进入链接发现下图原页面,它提出了第一个要求: 你需要把访问来源改成:https://vidar.club/  即:Referer头

hGame2020第一周题解_第1张图片


 1阶段)用burpsuite抓包后:在报文处添加一行 Referer:https://vidar.club/   

如图:进行添加,划线处是添加的地方

hGame2020第一周题解_第2张图片

然后我萌得到了新的response报文,新的提示:你需要从本地看

hGame2020第一周题解_第3张图片


2阶段)根据提示要求添加X-Forwarded-For:127.0.0.1或者X-Forwarded-For:localhost

hGame2020第一周题解_第4张图片

response得到如图: 要求我们使用Cosmos浏览器,即和浏览器相关的User-Agent报文的更改


3阶段)User-Agent:的报文改成User-Agent:Cosmos   我这里比较暴力写的不太规范

如图:

hGame2020第一周题解_第5张图片

改好之后send:得到提示你需要把请求方法改成POST(不多解释)


4阶段)更改方法为POST:

hGame2020第一周题解_第6张图片

得到新提示:flag(即答案)将在2077年之后更新,请耐心等待.


5阶段)注意当前的一段response头部的报文:Last-Modified

hGame2020第一周题解_第7张图片

为了便于学习而不是省省事,用实践验证理论

 先添加If-Unmodified-Since:Tue, 26 Jan 2064 00:00:00 GMT   这个时间比最新更改的时间早,所以不会得到flag(答案),

改法如图:

hGame2020第一周题解_第8张图片

如果想得到答案应该是添加:

If-Unmodified-Since:Tue, 26 Jan 2077 00:00:00 GMT (正确答案之一,可以自行尝试其他答案),必须是个比Last-Modified:(更新)晚的时间点 这样才能得到答案

如图:得到flag(答案)

hGame2020第一周题解_第9张图片

趁着还没结束赶紧试一下



关于,If-Unmodified-Since:再次补充:

经过我伙伴的测试,他说改为20781发现得不到flag,

然后我测试了一下 9999年可以 但是万年以上就不行了,

测试一下,测试代码如下:(E99p1ant大佬给的

测试结果,可见万年以上就不能解析了:

hGame2020第一周题解_第10张图片

使用了strtotime()函数

strtotime() 函数将任何英文文本的日期或时间描述解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数)。

注意:如果年份表示使用两位数格式,则值 0-69 会映射为 2000-2069,值 70-100 会映射为 1970-2000。

注意:请注意 m/d/y 或 d-m-y 格式的日期,如果分隔符是斜线(/),则使用美洲的 m/d/y 格式。如果分隔符是横杠(-)或者点(.),则使用欧洲的 d-m-y 格式。为了避免潜在的错误,您应该尽可能使用 YYYY-MM-DD 格式或者使用 date_create_from_format() 函数。

 

 

 

 

你可能感兴趣的:(CTF:web)