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

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

相关推荐
白猫不黑21 小时前
Web 应用中“敏感信息泄露“的常见位置?
前端·网络·web安全·网络安全·信息安全·渗透测试
网络安全零基础教程2 天前
网络安全春招面试避坑与复盘指南
linux·网络·安全·web安全·面试·职场和发展
汉堡包0012 天前
【工具分享】--威胁情报平台大全
学习·安全·web安全·信息安全
介一安全2 天前
【SRC】基础思路篇15:JWT安全测试完全指南
web安全·jwt·安全性测试·src
云水一下2 天前
零基础玩转bWAPP靶场(二十三):SQL 注入——存储型(SQLite)
web安全·sql注入·bwapp
白猫不黑2 天前
SQL注入实战:手工注入全流程详解
网络·数据库·sql·web安全·网络安全·信息安全
网安老伯4 天前
网络安全基础要点知识介绍(非常详细),零基础入门到精通,看这一篇就够了
运维·前端·网络协议·web安全·网络安全·职场和发展
绘梨衣的sakura路4 天前
Fastjson ≤ 1.2.83 新型 RCE 漏洞深度分析:三层绕过机制与完整利用链
安全·web安全·json
niaiheni4 天前
Fastjson 1.2.83 “Gadget-Free“ RCE
网络·安全·web安全
Draina4 天前
CBC填充预言攻击-CBC Padding Oracle Crypto Attack
python·安全·web安全·网络安全·密码学·安全性测试