2048

题目描述

image-20211001191433709

解题思路

image-20211001191507747

打开网页后是一个如图所示的小游戏,几番折腾后游戏结束

image-20211001191642280

image-20211001191653895

我们按F12查看源码,搜索flag和score相关关键词,发现了一个函数,即为解体的关键

image-20211001194930314

image-20211001191908626

当游戏失败时,调用obj.getFlag,并对其中obj.score的数值进行判断,仅当score>50001时才给出flag

解法一:

在F12的控制台中输入

image-20211001195606298

解法二:

打开网址47.93.215.154:5001/flag.php?score=50001即可得到flag

image-20211001195557547

Web_Inc

题目描述

image-20211001195843736

解题思路

变量a通过get传参,变量b通过post传参

题中对a和b的值和MD5进行比较,当且仅当值不等且MD5相等时给出flag

相关知识点:

等号的数量问题:

三个等号 为 类型相等 并且 值相等

两个等号 仅仅为 值相等

(若字符串以数字开头,则取开头数字作为转换结果,若无则输出0)

“abc” == 0 值为 True

MD5碰撞及绕过:
1、构造数组

在 PHP5 和 PHP7 中,当两个 md5 进行比较时,若参数是不同的数组,那么 ===== 比较的结果均为 True

$a = $GET[“a”]; $b = $GET[“b”];时可以构造a[]=1&&b[]=1

2、构造0E(仅适用于”==“)

如果md5的值是以0e开头的,那么就与其他的0e开头的Md5值是相等的

image-20211001211508144

得到FLAG

ezinclude(我们仍未知道那天所解的题的解法)

题目描述

image-20211001225145844

题解(尚未知晓原理,以后补充)

47.98.215.112:5000/?file=php://filter/convert.base64-encode/resource=flag.php

得到PD8kZmxhZz0ibW9lY3Rme3hkc2VjNmFzZGdhczdhaGZzZmF4Y3pjfSI7Pz4=

利用base64解码得到

Do you know HTTP?

打开网页几个大字赫然在目

image-20211002110958776

借鉴之前小饼干的经验,该题应该是想要让我们伪造请求方式和各种的请求头来解题

image-20211002112048169

伪造请求头 X-Forwarded-For: 简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP。

请求头格式:X-Forwarded-For: client, proxy1, proxy2 client

即客户端真实 ip,后两项是代理 ip,可缺省,最终在服务端接收前都会被补齐。

image-20211002112323207

伪造请求头Referer可以伪造来源地址

image-20211002112704997

User-Agent代表的是浏览服务器,只需要把值更改为LT即可

image-20211002113354175