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

BUUCTF [MRCTF2020]Ez_bypass 1

题目环境:
image.png
F12查看源代码
image.png

I put something in F12 for you  include 'flag.php';  
$flag='MRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx}';  
if(isset($_GET['gg'])&&isset($_GET['id'])) {  $id=$_GET['id'];  $gg=$_GET['gg'];  if (md5($id) === md5($gg) && $id !== $gg) {  echo 'You got the first step';  if(isset($_POST['passwd'])) {  $passwd=$_POST['passwd'];  if (!is_numeric($passwd))  {  if($passwd==1234567)  {  echo 'Good Job!';  highlight_file('flag.php');  die('By Retr_0');  }  else  {  echo "can you think twice??";  }  }  else{  echo 'You can not get it !';  }  }  else{  die('only one way to get the flag');  }  }  else {  echo "You are not a real hacker!";  }  
}  
else{  die('Please input first');  
}  
}Please input first 

PHP代码审计

分析源码关键点
获取flag的思路:
需要满足两个条件:
GET传参方式
- “===”;md5值强对比;id与gg的值不能相等;可通过数组并赋不同的值进行绕过。

POST传参方式

  - !is_numeric函数决定了passwd参数的值是数字或数字字符串,加个!就是相反的意思,如果passwd是数字字符串并等于1234567那么就会输出flag的值,如果不是那么就会进入else语句。

火狐浏览器传参
GET payload:
?id[]=1&gg[]=2
POST payload:
passwd=1234567a
image.png
得到flag:
flag{95c8f35d-4ce2-4ba8-a849-2bbd941a75ea}

http://www.lryc.cn/news/246759.html

相关文章:

  • 基于Apache部署虚拟主机网站
  • 大数据平台/大数据技术与原理-实验报告--部署全分布模式HBase集群和实战HBase
  • 手写字符识别神经网络项目总结
  • 八、Lua数组和迭代器
  • 平凯星辰 TiDB 获评 “2023 中国金融科技守正创新扬帆计划” 十佳优秀实践奖
  • 运算符展开、函数,对象,数组,字符串变化 集合
  • NI自动化测试系统用电必备攻略,电源规划大揭秘
  • ky10 server arm 在线编译安装openssl3.1.4
  • 外网IP和内网IP的区别
  • Jquery动画特效
  • Tableau连接到mysql数据库,配置驱动
  • HuggingFace学习笔记--AutoModel的使用
  • Kafka常见面试问题
  • 学习知识回顾随笔(远程连接MySQL|远程访问Django|HTTP协议|Web框架)
  • 一、TIDB基础
  • 【微软技术栈】使用新的C#功能减少内存分配
  • Linux shell编程学习笔记29:shell自带的 脚本调试 选项
  • 分享几个可以免费使用GPT的网站
  • 一. BEV感知算法介绍
  • Scala如何写一个通用的游戏数据爬虫程序
  • 前端命名规范总结
  • Vue学习笔记-搭建Vuex
  • Ajax技
  • Co-DETR:DETRs与协同混合分配训练论文学习笔记
  • ELk部署,保姆级教学超详细!!!
  • 计算机毕业设计springboot+vue高校田径运动会报名管理系统61s38
  • java学习part21枚举
  • MongoDB的部署
  • 解析和存储优化的批量爬虫采集策略
  • 【git】使用ssh