当前位置: 首页 > news >正文

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

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

相关文章:

  • Android Traceview 定位卡顿问题
  • Angular系列教程之zone.js和NgZone
  • 在 SpringBoot中的WebSocket使用介绍
  • Nginx+Tomcat负载均衡、动静分离以及Nginx负载均衡和四层代理
  • macOS向ntfs格式的移动硬盘写数据
  • web开发学习笔记(2.js)
  • C#,字符串匹配(模式搜索)原生(Native)算法的源代码
  • Node cool 跨域问题的解决
  • kibana查看和展示es数据
  • 2024秋招,顺丰科技测试开发工程师一面
  • CleanMyMac X .4.14.7如何清理 Mac 系统?
  • yum仓库及NFS共享
  • openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_DSA_keygen.c
  • 网页设计(十一)JavaScript事件分析
  • windows编译TensorFlowServing
  • @jsonView过滤属性
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Fabric架构演变之路
  • Java小白进阶笔记(3)-初级面向对象
  • KMP算法及优化
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • python docx文档转html页面
  • Vue ES6 Jade Scss Webpack Gulp
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 大快搜索数据爬虫技术实例安装教学篇
  • 高度不固定时垂直居中
  • 警报:线上事故之CountDownLatch的威力
  • 前端存储 - localStorage
  • 设计模式 开闭原则
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 一些关于Rust在2019年的思考
  • puppet连载22:define用法
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • #Linux(Source Insight安装及工程建立)
  • (07)Hive——窗口函数详解
  • (175)FPGA门控时钟技术
  • (27)4.8 习题课
  • (day6) 319. 灯泡开关
  • (java)关于Thread的挂起和恢复
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (二十四)Flask之flask-session组件
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)计算机毕业设计大学生兼职系统
  • (强烈推荐)移动端音视频从零到上手(上)
  • (算法)Game
  • (转)scrum常见工具列表
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .net core 6 集成和使用 mongodb
  • .NET 指南:抽象化实现的基类
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET设计模式(8):适配器模式(Adapter Pattern)