zoukankan      html  css  js  c++  java
  • CTF-Bugku-分析-信息提取

    CTF-Bugku-分析-信息提取

     

     最近刷题的时候看到了这道比较有趣的题。而且网上也没找到wp,所以分享一下我的思路。

     

       信息提取;

       题目链接:http://ctf.bugku.com/challenges#信息提取

      

      下载文件

    先用wireshark打开流量包看看是什么。

    只有http和tcp的包,我们只关心http包,所以我们在过滤中输入http,只显示http内容。

    粗略的看一下,结合题目的提示“sqlmap用过吗”,可以看出这是一个布尔盲注的过程,从sql注入检测,猜解数据库,表名...

    一位一位的猜取flag,然后用二分法判断其ascii码的范围并最终确定这一位的值。

    第806个包是读取flag第一位的数据包。

    为了更明了的查看语句,可以导出对象查看

    将其payload解码一下是这样的,判断其ascii码是否大于64

    我们可以以64这个ascii码为一个字符的分界线,我们不需要看返回值,只需要往下看到下一个64就能判断ascii码是什么,我们以第一个字符为例,可以看到第一个字符判断的时候,先判断其是否大于64,后面又判断了是否大于96,说明这个字符肯定大于64,所以此时作比较的ascii码增加64的二分之一,即96,接着向下看,作比较的ascii码变成了80,说明这个字符小于96,所以大于64又小于96,继续向下分32的二分之一,即80,在接着向下看,作比较的ascii码变为了72,说明这个字符依然小于80,继续向下分16的二分之一,即72,继续向下看,作比较的ascii码变为了76,说明这个ascii码大于72,所以向上分8的二分之一,即76,继续向下看,作比较的ascii码变为了74,说明这个ascii码小于76,所以向下分4的二分之一,即74,继续向下看,作比较的ascii码变成了73,且下一个包变为了64,说明已经判断结束,因此大于72又不大于73,这个ascii码为73,对应的字符为I。这就是二分法

    以此类推,其flag为ISG{BLind_SQl_InJEcTi0N_DeTEc***}(我建议还是自己做一下的好,哈哈)。本题需要一定的耐心和SQL注入基础,虽然没很绕,但是也是个体力活。

     原创文章,转载请标明出处:https://www.cnblogs.com/pureqh

  • 相关阅读:
    PHP实现无限极分类
    html2canvas生成并下载图片
    一次线上问题引发的过程回顾和思考,以更换两台服务器结束
    Intellij IDEA启动项目报Command line is too long. Shorten command line for XXXApplication or also for
    mq 消费消息 与发送消息传参问题
    idea 创建不了 java 文件
    Java switch 中如何使用枚举?
    Collections排序
    在idea 设置 git 的用户名
    mongodb添加字段和创建自增主键
  • 原文地址:https://www.cnblogs.com/pureqh/p/9794979.html
Copyright © 2011-2022 走看看