2023极客大挑战web小记

拿到题目提示post传参还以为是道签到题

刚开始直接把自己极客大挑战的username以及password怼上去,但是不对。看看F12,有提示。

当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。

这里注意URL别直接全复制下来了.­­­­­­­

提示使用浏览器,直接改包。

改referer。

根据Referer的定义,它的作用是指示一个请求是从哪里链接过来 ,那么当一个请求并不是由链接触发产生的,那么自然也就不需要指定这个请求的链接来源

。

既然是从localhost访问,直接X-Forword-For:127.0.0.1

接下来提示使用代理,via:Syc.vip

到最后一步,server函数会原本输出HTTP_后面的内容,直接弱相等。

EASY PHP

先看代码,第一步很简单,这里不区分大小写,匹配到Happy to seek 2023!即可("/i"不区分大小写)

第二步,首先我们得先找到intval函数的意思是化为整数,一般来说一个小于2023的数不可能加一后大于2024,所以这里得使用科学计数法。

lover 在 第二个intval() 函数中以 表达式 的形式出现,字符串在与数值进行运算时,PHP 会将字符串转化为数值。使用科学计数法的数值(字符串) 在某些版本中无法被 intval() 正确解析,但 PHP 是认得它的,在与数值 1 进行加法运算时,lover 将被 PHP 正确解析。于是,我们尝试将lover=2e4,直接绕过。

第三步,这里是一个哈希碰撞

抛开题目,有个大佬举了个例子:

md5不能加密数组,传入数组会报错,但会继续执行并且返回结果为null

比如将两个数组的md5值进行比较

md5(a\[\]=1) === md5(b\[\]=1)

由于md5函数无法处理数组,会返回null,所以md5加密后的结果是下面这样

null === null

结果返回true,也就是说数组的md5值进行比较时,结果相等

需要注意的是0e绕过只能绕过弱类型比较(==),而数组绕过不只可以绕过弱类型比较,还可以绕过强类型比较(===)

弱类型比较(==),只判断内容是否相等,如果是字符串类型,则转换成数值型后进行判断

强类型比较(===),判断内容的基础上,还会判断类型是否相同

原文链接:MD5加密漏洞(MD5绕过方式-0e绕过/数组绕过/MD5碰撞/MD5SQL注入)_md5漏洞-CSDN博客,

直接一波数组绕过即可

最后

这里是真的狗,由于PHP8.0以下如果第一次出现类似于"["这样的非法符号,会将第一个非法符号转化为下划线,第二个不会转,所以这里是变量出了问题,所以改一下就好了。

这是当初打极客大挑战的一点小笔记,希望能够帮助大家!

相关推荐
YFJ_mily5 小时前
【10-12月优质学术会议合集】会议覆盖人工智能、大数据、高端装备、软件与网络安全 、计算机视觉技术等热门方向
算法·安全·web安全·网络安全·软件·rdlink研发家
ManageEngine卓豪1 天前
企业网络安全建设实践:2026 威胁态势、合规基线与分层防御落地
web安全·网络安全·it运维·网络安全防护
qq_443132412 天前
运营商网络安全监测项目厂商选择要点与建设思路
安全·web安全
是真的小外套2 天前
第18章:网络安全测评技术与标准
安全·web安全
无障碍研究院3 天前
2026TADC|圆桌对话:出海无障碍合规
安全·web安全
持敬chijing3 天前
白盒测试与代码审计-js登录逆向实战
javascript·网络·安全·web安全·网络安全·网络攻击模型
听说6663 天前
信息安全工程师 - 第二十二章 网站安全需求分析与安全保护工程
网络·安全·web安全·网络安全·系统安全
P1Browser3 天前
浏览器指纹参数校验:时区、语言、分辨率的一致性原理
web安全·api·前端开发·跨境电商·环境隔离·浏览器指纹
无障碍研究院3 天前
2026TADC|李璀:从标准走向落地,拆解无障碍产品合规实操方案
安全·web安全
科技小登3 天前
网页防篡改与 WAF 方案怎么选?内容拦截、篡改监测与自动恢复实战测评
网络·web安全·ddos