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以下如果第一次出现类似于"["这样的非法符号,会将第一个非法符号转化为下划线,第二个不会转,所以这里是变量出了问题,所以改一下就好了。

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

相关推荐
网安墨雨1 小时前
网络安全离我们不远!
安全·web安全
hgdlip2 小时前
ip归属地是什么意思?ip归属地是实时定位吗
网络·tcp/ip·web安全
独行soc3 小时前
#渗透测试#漏洞利用#红蓝攻防#信息泄露漏洞#Tomcat信息泄露漏洞的利用
安全·web安全·面试·tomcat·漏洞挖掘·信息泄露·tomcat漏洞
WTT00117 小时前
CTFshow-SSRF&文件上传
大数据·运维·网络·安全·web安全·ctf
Hacker_Nightrain9 小时前
linux 网络安全不完全笔记
linux·笔记·web安全
HackKong10 小时前
Python与黑客技术
网络·python·web安全·网络安全·php
网络安全(king)12 小时前
信息安全管理:网络设计安全评估checklist
网络·安全·web安全
黑客Ela1 天前
【网络安全设备系列】7、流量监控设备
安全·web安全
网络安全指导员1 天前
网络安全 - DOS
web安全·哈希算法·散列表
hao_wujing1 天前
网络安全等级自我评价
安全·web安全