当前位置:网站首页>ctf.show_web5
ctf.show_web5
2022-07-30 18:12:00 【努力做大佬m0_68074153】
1.关键代码
<?php
$flag="";
$v1=$_GET['v1'];
$v2=$_GET['v2'];
if(isset($v1) && isset($v2)){
if(!ctype_alpha($v1)){
die("v1 error");
}
if(!is_numeric($v2)){
die("v2 error");
}
if(md5($v1)==md5($v2)){
echo $flag;
}
}else{
echo "where is flag?";
}
?>
传入两个参数, v 1 须是字母, v1须是字母, v1须是字母,v2须是数字,并且两者的MD5值需要相等。
MD5碰撞
会利用”!=”或””来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。
"=“和”!“即strict比较符,只有在类型相同时才相等。”“和”!="即non-strict比较符,会在类型转换后进行比较。
此外0 == 字符会被认为是正确的,可以绕过验证
我们可以构造 v 1 = s 878926199 a , v1=s878926199a, v1=s878926199a,v=QLTHNDT。
常用MD5碰撞值
字母数字混合类(MD5值):
s878926199a
0e545993274517709034328855841020
s155964671a
0e342768416822451524974117254469
s214587387a
0e848240448830537924465865611904
s214587387a
0e848240448830537924465865611904
大写字母类:
QLTHNDT
0e405967825401955372549139051580
QNKCDZO
0e830400451993494058024219903391
EEIZDOI
0e782601363539291779881938479162
纯数字类:
240610708
0e462097431906509019562988736854
边栏推荐
猜你喜欢

使用postman调接口报Content type ‘text/plain;charset=UTF-8‘ not supported

Mongo for infrastructure

Pagoda builds PHP adaptive lazy website navigation source code measurement

【HMS core】【FAQ】HMS Toolkit典型问题合集1

【HMS core】【FAQ】Account Kit、MDM能力、push Kit典型问题合集6

Test the.net text to Speech module System. Researched

5分钟搞懂MySQL - 行转列

微博广告分布式配置中心的构建与实践(有彩蛋)

线性筛求积性函数

while,do while,for循环语句
随机推荐
今年这情况。。真心推荐专科的工程师升个本!
BI报表与数据开发
Basic knowledge points in js - BOM
宝塔搭建PHP自适应懒人网址导航源码实测
Presto 中 lookUp Join的实现
LayaBox---TypeScript---泛型
LayaBox---TypeScript---类
基于b/s架构搭建一个支持多路摄像头的实时处理系统 ---- 使用yolo v5 系列模型
好未来单季营收2.24亿美元:同比降84% 张邦鑫持股26.3%
线性筛求积性函数
ESP8266-Arduino编程实例-HC-SR04超声波传感器驱动
arcpy获取要素类(属性表)包含的数目
ByteArrayInputStream 类源码分析
ESP8266-Arduino编程实例-DS18B20温度传感器驱动
积性函数
What is an ultrasonic flaw detector used for?
《自然语言处理实战入门》---- 文本样本扩展小技巧:使用回译技术进行样本增强
【HMS core】【FAQ】HMS Toolkit典型问题合集1
【HarmonyOS】【FAQ】鸿蒙问题合集3
LeetCode 练习——关于查找数组元素之和的两道题