2021陕西省大学生网络安全技能大赛 Web ez_checkin
web ez_checkin
- 进去看了一会,啥也没找到,直接上dirsearch

- 扫到一个index.php~,打开看一看,是php审计
<?php
error_reporting(0);
include "flag.php";
echo "Come and hack me";
if (isset($_GET["param1"])){
if ($_GET["param1"] == hash("md4", $_GET["param1"]))
{
echo "<br>Welcome to level 2!<br>";
if (isset($_GET['param2']) && isset($_GET['param3'])) {
if ($_GET['param2'] != $_GET['param3'] && md5($_GET['param2']) == md5(md5($_GET['param3']))){
echo "<br>Welcome to level 3!<br>";
if(isset($_GET['param4']) && isset($_GET['param5'])){
if($_GET['param4'] != $_GET['param5'] && md5($_GET['param4']) === md5($_GET['param5'])){
echo $flag;
}
else{
die("Come on ! One more trick!");
}
}
}
else{
die("What R U doing?");
}
}
}
else {
die("????????????");
}
}
一共有三层判断,只要绕过这三层就可以获得flag
第一层是一个MD4绕过
使用0e的科学计数法即可绕过
$_GET["param1"] == hash("md4", $_GET["param1"])
- payload:
http://9cff3263.yunyansec.com/index.php
?param1=0e251288019
- 成功到达第二层
$_GET['param2'] != $_GET['param3'] && md5($_GET['param2']) == md5(md5($_GET['param3']))
双MD5碰撞绕过
MD5大全:
CbDLytmyGm2xQyaLNhWn
md5(CbDLytmyGm2xQyaLNhWn) => 0ec20b7c66cafbcc7d8e8481f0653d18
md5(md5(CbDLytmyGm2xQyaLNhWn)) => 0e3a5f2a80db371d4610b8f940d296af
770hQgrBOjrcqftrlaZk
md5(770hQgrBOjrcqftrlaZk) => 0e689b4f703bdc753be7e27b45cb3625
md5(md5(770hQgrBOjrcqftrlaZk)) => 0e2756da68ef740fd8f5a5c26cc45064
7r4lGXCH2Ksu2JNT3BYM
md5(7r4lGXCH2Ksu2JNT3BYM) => 0e269ab12da27d79a6626d91f34ae849
md5(md5(7r4lGXCH2Ksu2JNT3BYM)) => 0e48d320b2a97ab295f5c4694759889f
- payload:
http://9cff3263.yunyansec.com/index.php
?param1=0e251288019
¶m2=0ec20b7c66cafbcc7d8e8481f0653d18
¶m3=CbDLytmyGm2xQyaLNhWn
- 成功到达第三层
$_GET['param4'] != $_GET['param5'] && md5($_GET['param4']) === md5($_GET['param5'])
一个简单的MD5碰撞
直接使用数组传值,md5()无法处理数组,都会返回NULL
最终payload:
http://9cff3263.yunyansec.com/index.php
?param1=0e251288019
¶m2=0ec20b7c66cafbcc7d8e8481f0653d18
¶m3=CbDLytmyGm2xQyaLNhWn
¶m4[]=1
¶m5[]=2

flag{a869a5ea62bd6a8d2a9294dbc51c58ff}
2021陕西省大学生网络安全技能大赛 Web ez_checkin的更多相关文章
- 2019"深思杯"山东省大学生网络安全技能大赛部分wp
签到 载入OD查看字符串 上下左右 这道题出来的时候真的是一点思路都没有,一直以为是什么编码来着,看了大佬们的 wp 原来是画图 拿大佬的脚本: from PIL import Image im = ...
- 2019西湖论剑网络安全技能大赛(大学生组)部分WriteUp
这次比赛是我参加以来成绩最好的一次,这离不开我们的小团队中任何一个人的努力,熬了一整天才答完题,差点饿死在工作室(门卫大爷出去散步,把大门锁了出不去,还好学弟提了几个盒饭用网线从窗户钓上来才吃到了午饭 ...
- 2019西湖论剑网络安全技能大赛(大学生组)--奇怪的TTL字段(补充)
鉴于有人不会将得到的16进制数据在winhex中转成图片,我在这里写一个详细的步骤. 首先就是将六张图片的十六进制数据找出并提取出来. 打开winhex,新建一个文档. 大小可以选1bytes 将数据 ...
- 山东省网络安全技能大赛 部分writeup
web1 提示:ip不在范围内 直接抓包加client-ip: 127.0.0.1 即可得到flag web2 <?php include 'here.php'; $key = 'kela ...
- 第三届“传智杯”全国大学生IT技能大赛(初赛A组)题解
留念 C - 志愿者 排序..按照题目规则说的排就可以.wa了两发我太菜了qwq #include<bits/stdc++.h> using namespace std; const in ...
- 第四届“传智杯”全国大学生IT技能大赛题解
目录 A B C D E F G 今年题目难度普遍偏低.只有 D,F 还好. A 按题目给的公式计算即可.注意应在最后的答案中去掉小数部分. B 按照题意模拟即可.注意答案要与 \(0\) 取 \(\ ...
- Writeup:第五届上海市大学生网络安全大赛-Web
目录 Writeup:第五届上海市大学生网络安全大赛-Web 一.Decade 无参数函数RCE(./..) 二.Easysql 三.Babyt5 二次编码绕过strpos Description: ...
- 2019年上海市大学生网络安全大赛两道misc WriteUp
2019年全国大学生网络安全邀请赛暨第五届上海市大学生网络安全大赛 做出了两道Misc== 签到 题干 解题过程 题干提示一直注册成功,如果注册失败也许会出现flag. 下载下来是包含010edito ...
- 第二届360杯全国大学生信息安全技术大赛部分解题思路(WEB安全)
第一题如下: 用burpsuit设置好代理后,点击发送验证码,可以看到如下: 然后go之后可以看到如下的验证码: 提交验证码后即可获得key 第二题如下: 通过/data/mysql_error_tr ...
随机推荐
- sys用户无法远程登陆
1.用sys用户远程登陆 [oracle@edbjr2p2 admin]$ sqlplus system/oracle@PROD3 as sysdbaSQL*Plus: Release 11.2.0. ...
- SVN分支的创建与使用
首先放出右键菜单点击Branch/tag... 所示位置输入想新建分支的路径 然后ok就完成了 之后就是切换分支上传代码了 点击Switch... 在里面就可以切换分支了To path
- WEB安全新玩法 [6] 防范图形验证码重复使用
在完成关键业务操作时,要求用户输入图形验证码是防范自动化攻击的一种措施.为安全起见,即使针对同一用户,在重新输入信息时也应该更新图形验证码.iFlow 业务安全加固平台可以加强这方面的处理. 某网站系 ...
- Mongo3基础操作
由于3.X的文档是在3.X当前最新版本前记录,所以这里列出一些常用的操作,比如建立库,删除库,等一些格式,然后在描述开启远程和创建用户的一些区别,以及讲解2.X和3.X配置文件区别. 1. Mongo ...
- Qt 新手实战项目之手把手打造一个串口助手
一前景 很多时候我们在学习一门新的语言,一直在学习各种语法和记住各种关键字,很容易产生枯燥的情绪,感觉学习这些玩意儿不知道用在什么地方,心里很是苦恼,这不,我在这记录下我学习Qt的第一个的小项目-串口 ...
- idea中IDEA优化配置,提高启动和运行速度
IDEA优化配置,提高启动和运行速度 IDEA默认启动配置主要考虑低配置用户,参数不高,导致 启动慢,然后运行也不流畅,这里我们需要优化下启动和运行配置: 找到idea安装的bin目录: D:\ide ...
- 【转载】每天一个linux命令(11):nl命令
转载至:http://www.cnblogs.com/peida/archive/2012/11/01/2749048.html nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内 ...
- tcp三次握手四次挥手----转
序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生:给字节编上序号后,就给每一个报文段指派一个序号:序列号seq就是这个报文 ...
- flask的常规使用二
一.路由(router) 路由指定了url 到函数之间的一个映射关系. url ---> flask框架拿到url 的路径部分和路由中的内容进行匹配,如果匹配成功了则执行对应的函数.如果没有找到 ...
- PID算法控制直流电机笔记
1.将偏差的比例.积分和微分通过线性组合构成控制量,用这一控制量对被控对象进行控制,这样的控制器称为PID控制器.简单说就是根据系统的误差,利用比例.积分.微分计算出控制量进行控制. 2.为什么需要P ...