Day35 

 

前女友(SKCTF)

flag格式:SKCTF{xxxxxxxxxxxxxxxxxx}
 
 
本题要点:strcmp()、md5 collision
 
 
 
 
满满的套路啊~
 
链接打开后,发现一段代码
 
 
 
读一下代码,我们看到strcmp()这个函数
这个函数是用于比较字符串的函数
 
int strcmp ( string $str1 , string $str2 )
参数 str1第一个字符串。str2第二个字符串。
如果 str1 小于 str2 返回 < 0;
如果 str1 大于 str2 返回 > 0;
如果两者相等,返回 0。
 
 
 
回看这段代码
我们可以看到 是以GET形式传递3个值,其中v1变量值 != v2变量值,if中的第二个判断条件用的是 ==,我们可以利用 “0x” == "0a"的判断结果为1,找出经过加密后的两个md5值以0开头,接下去以都相同的值,直到遇到的字母的两个字符串相等 v3 == flag
 
那么
 
方法一:
 
我们可以通过
PHP处理0e开头md5时hash字符串漏洞   详细请看
 
https://www.cnblogs.com/0yst3r-2046/p/10748412.html    (md5 collision之记录一些MD5值)
 
构造 index.php?v1[]=QLTHNDT&v2[]=UTIPEZQ&v3[]=EEIZDOI
 
得到答案:
SKCTF{Php_1s_tH3_B3St_L4NgUag3}
 
 
方法二:
 
在PHP中
MD5是不能处理数组的,md5(数组)会返回null
所以即
md5(a[])==null,md5(b[])==null,md5(a[])=md5(b[])=null也可以满足代码中的条件
 
构造: index.php?v1[]=1&v2[]=2&v3[]=3
 
 
 
 
 
 
完成!
 
 
 
 
 
 
 
 
 
 
参考资料:
 
 
 
 
 
 
 

Bugku-CTF之前女友(SKCTF)的更多相关文章

  1. Bugku CTF练习题---MISC---贝斯手

    Bugku CTF练习题---MISC---贝斯手 flag:flag{this_is_md5_and_base58} 解题步骤: 1.观察题目,下载附件 2.下载后进行解压,得到了一张图片.一个压缩 ...

  2. Bugku CTF练习题---MISC---telnet

    Bugku CTF练习题---MISC---telnet flag:flag{d316759c281bf925d600be698a4973d5} 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现 ...

  3. Bugku CTF练习题---MISC---眼见非实

    Bugku CTF练习题---MISC---眼见非实 flag:flag{F1@g} 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现是一个压缩包,打开是一个Word文档,观察其中的内容,除了开 ...

  4. Bugku CTF练习题---MISC---宽带信息泄露

    Bugku CTF练习题---MISC---宽带信息泄露 flag:053700357621 解题步骤: 1.观察题目,下载附件 2.下载到电脑里发现是一个bin文件,二进制文件的一个种类,再看名称为 ...

  5. Bugku CTF练习题---MISC---这是一张单纯的图片

    Bugku CTF练习题---MISC---这是一张单纯的图片 flag:key{you are right} 解题步骤: 1.观察题目,下载附件 2.打开以后发现是一张图片,修改文件扩展名,查看属性 ...

  6. Bugku CTF练习题---加密---ok

    Bugku CTF练习题---加密---ok flag:flag{ok-ctf-1234-admin} 解题步骤: 1.观察题目,发现规律 2.发现所有内容都是ook写的, 直接上网搜索一下原因,发现 ...

  7. Bugku CTF练习题---加密---聪明的小羊

    Bugku CTF练习题---加密---聪明的小羊 flag:KEY{sad23jjdsa2} 解题步骤: 1.观察题目,发现其中的信息 2.经过题目判断,得知该题属于栅栏密码的一种,并且介绍中表明了 ...

  8. Bugku CTF练习题---分析---flag被盗

    Bugku CTF练习题---分析---flag被盗 flag:flag{This_is_a_f10g} 解题步骤: 1.观察题目,下载附件 2.下载的文件是一个数据包,果断使用wireshark打开 ...

  9. Bugku CTF练习题---杂项---隐写3

    Bugku CTF练习题---杂项---隐写3 flag:flag{He1l0_d4_ba1} 解题步骤: 1.观察题目,下载附件 2.打开图片,发现是一张大白,仔细观察一下总感觉少了点东西,这张图好 ...

随机推荐

  1. JDK 动态代理的实现

    JDK 动态代理的实现 虽然在常用的 Java 框架(Spring.MyBaits 等)中,经常见到 JDK 动态代理的使用,也知道了怎么去写一个 JDK 动态代理的 Demo,但是并不清楚实现原理. ...

  2. POJ2528Mayor's posters 线段树,离散化技巧

    题意:一个坐标轴从1~1e7,每次覆盖一个区间(li,ri),问最后可见区间有多少个(没有被其他区间挡住的) 线段树,按倒序考虑,贴上的地方记为1,每次看(li,ri)这个区间是否全是1,全是1就说明 ...

  3. [P5490] 【模板】扫描线 - 线段树

    求 \(n\) 个矩形的面积并 Solution 将矩形转化为 \(y_1\) 位置的 + 修改 和 \(y_2\) 位置的 - 修改.然后按照 \(+y\) 顺序依次处理所有的修改,到达的一个新的位 ...

  4. Opencv之像素值的获取

    灰度图像${\rm{M}} \times {\rm{N}}$的像素矩阵值为0~255,像素值越大越亮.${{\rm{I}}_{{\rm{i}}{\rm{j}}}}$,i表示行的位置,j 表示列的位置即 ...

  5. MapReduce异常:java.lang.ClassCastException: interface javax.xml.soap.Text

    MapReduce异常:java.lang.ClassCastException: interface javax.xml.soap.Text java.lang.ClassCastException ...

  6. mysql的优化总结

    1,允许数据库适当冗余提高查询效率 2,对于索引的使用要适当

  7. 增删改查-删除(php)

    <!DOCTYPE html> <html><script type="text/javascript" src="jquery-1.11. ...

  8. python3安装虚拟环境(windows)

    1.pip install virtualenv   :安装命令 2.pip install virtualenvwrapper-win:安装命令 3.配置WORKON_HOME环境变量: 变量名:W ...

  9. Paper: ModelarDB

    Problem: how to store and querry massive amounts of high quality sensor data ingested in real-time f ...

  10. 整理收集的一些常用java工具类

    1.json转换工具 package com.taotao.utils; import java.util.List; import com.fasterxml.jackson.core.JsonPr ...