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

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

相关推荐
Allen_LVyingbo2 小时前
医院网络安全托管服务(MSS)深度解读与实践路径
安全·web安全·健康医疗
玉笥寻珍3 小时前
医疗信息系统安全防护体系的深度构建与理论实践融合
安全·web安全·安全威胁分析·健康医疗
胡耀超8 小时前
探讨零知识证明的数学原理与应用
python·web安全·区块链·密码学·数据安全·零知识证明
James. 常德 student18 小时前
网络安全知识点
安全·web安全·php
可怜的Tom被玩弄于股掌之中21 小时前
BUUCTF——Nmap
网络·安全·web安全·网络安全
神经毒素1 天前
WEB安全--Java安全--shiro550反序列化漏洞
java·安全·web安全·shiro
mooyuan天天1 天前
SQL注入报错“Illegal mix of collations for operation ‘UNION‘”解决办法
数据库·web安全·sql注入·dvwa靶场·sql报错
一口一个橘子1 天前
[ctfshow web入门] web77
前端·web安全·网络安全
一口一个橘子1 天前
[ctfshow web入门] web118
前端·web安全·网络安全
kp000001 天前
PHP弱类型安全漏洞解析与防范指南
android·开发语言·安全·web安全·php·漏洞