zoukankan      html  css  js  c++  java
  • CG-CTF WEB 解题记录 1-5

    写了一部分的web题,算是把它最基础的一部分做了一遍,以后的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每五道题的题解以一篇文章的形式发表,感谢大家一直以来的支持和理解,共勉~~~

    签到题

    打开链接,里边问,key在哪里??

    哈哈哈,我们打开查看源码就知道了,

    安安静静躺在源码里边

    md5 collision

    打开题目是这样的一串代码

     1 $md51 = md5('QNKCDZO');
     2 $a = @$_GET['a'];
     3 $md52 = @md5($a);
     4 if(isset($a)){
     5 if ($a != 'QNKCDZO' && $md51 == $md52) {
     6     echo "nctf{*****************}";
     7 } else {
     8     echo "false!!!";
     9 }}
    10 else{echo "please input a";}

     在PHP中md5()和sha1()函数都存在一个漏洞,当像函数中传入数组时会无法处理返回同一值,即不同的数组通过md5(),sha1()处理后结果是一样的。

    同时PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,

    其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。

    首先我们使用工具将QNKCDZO转码为MD5:0e830400451993494058024219903391

    百度查询一下,oe开头的MD5的对比值

    我们试一试传输一个 a的值比如?a=240610708
    常见的0e开头MD5的对比值:0e开头MD5值小结
     
    输入a值flag就出来了
     

    签到2

    这个题打开网页出现一个输入窗口,我们按照提示输入指令,但均提示指令错误

    我们此时打开源代码查看

    <input type="password" value="" name="text1" maxlength="10">

    发现有最大输入字节限制,我们将10改为20或者更大,回去重新输入zhimakaimen

    flag就爆出来了

    PS:也可以使用BP进行抓取数据包更改实现传输

    这题不是WEB

    打开网页是一个图片,我们下载下来

    打开图片,并没有什么发现,我们试一试用文本格式打开

    发现都是乱码,并没有我们想要的信息,下拉至最后一行

    flag安安静静的躺在哪里

    层层递进

    这个题稍微有点考虑思考能力,也有点技巧性

    打开网页,看半天也没发现什么东西,这不就是一个简单的网页嘛???

    无奈的我们烦不胜烦的右键不断看源码,突然点进了源码最后几行的一个链接

    哇!!!这个链接竟然可以打开,我们继续联想题目层层递进,继续查看源码,看还能不能继续进入网页

    咦!又能打开,看来这应该就是flag的所在了

    我们重复打开源码的链接直到我们看到以下网页

    打开这个页面,还是没flag,我们继续查看源码

    哈哈哈,发现没,竖着排列的就是flag

  • 相关阅读:
    GFS文件系统和在RedHat Linux下的配置
    FastDFS connect timed out
    大型高并发高负载网站的系统架构
    FastDFS 上传文件
    FastDFS常见命令
    FastDFS安装、配置、部署
    分布式文件系统FastDFS原理介绍
    Jenkins+Maven+Svn搭建持续集成环境持续集成和自动部署
    Java中的向上转型和向下转型
    Java中的final修饰符
  • 原文地址:https://www.cnblogs.com/Anser-dabao-982480259/p/9451621.html
Copyright © 2011-2022 走看看