几道web题
2048
题目描述
解题思路
打开网页后是一个如图所示的小游戏,几番折腾后游戏结束
我们按F12查看源码,搜索flag和score相关关键词,发现了一个函数,即为解体的关键
当游戏失败时,调用obj.getFlag,并对其中obj.score的数值进行判断,仅当score>50001时才给出flag
解法一:
在F12的控制台中输入
解法二:
打开网址47.93.215.154:5001/flag.php?score=50001即可得到flag
Web_Inc
题目描述
解题思路
变量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值是相等的
得到FLAG
ezinclude(我们仍未知道那天所解的题的解法)
题目描述
题解(尚未知晓原理,以后补充)
47.98.215.112:5000/?file=php://filter/convert.base64-encode/resource=flag.php
得到PD8kZmxhZz0ibW9lY3Rme3hkc2VjNmFzZGdhczdhaGZzZmF4Y3pjfSI7Pz4=
利用base64解码得到$flag="moectf{xdsec6asdgas7ahfsfaxczc}";?>
Do you know HTTP?
打开网页几个大字赫然在目
借鉴之前小饼干的经验,该题应该是想要让我们伪造请求方式和各种的请求头来解题
伪造请求头 X-Forwarded-For: 简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP。
请求头格式:X-Forwarded-For: client, proxy1, proxy2 client
即客户端真实 ip,后两项是代理 ip,可缺省,最终在服务端接收前都会被补齐。
伪造请求头Referer可以伪造来源地址
User-Agent代表的是浏览服务器,只需要把值更改为LT即可