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

  • 相关阅读:
    AJAX
    选择器
    断电原则
    radio为什么不能选择。急急急
    IBase<T>
    委托
    Log4Net
    博弈论 学习笔记
    解决You have new mail in /var/spool/mail/root提示
    Zookeeper分布式安装部署
  • 原文地址:https://www.cnblogs.com/pureqh/p/9794979.html
Copyright © 2011-2022 走看看