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头


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

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

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


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

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


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

如图:

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


4阶段)更改方法为POST:

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


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

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

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

改法如图:

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

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

如图:得到flag(答案)

趁着还没结束赶紧试一下

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

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

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

测试一下,测试代码如下:

<?php

var_dump(strtotime('Fri,03 Jan 10000 00:00:00 GMT'));//false
var_dump(strtotime('Fri,03 Jan 9999 00:00:00 GMT'));//true

?>

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

使用了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() 函数。

发布了84 篇原创文章 · 获赞 48 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43900387/article/details/104085299
今日推荐