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
CTF-Bugku-分析-信息提取的更多相关文章
- Bugku CTF练习题---分析---flag被盗
Bugku CTF练习题---分析---flag被盗 flag:flag{This_is_a_f10g} 解题步骤: 1.观察题目,下载附件 2.下载的文件是一个数据包,果断使用wireshark打开 ...
- CTF流量分析题大全(掘安攻防平台)
突然想做一下流量分析题,记得掘安攻防实验室上面有很多的流量分析题目,故做之 流量分析题一般使用的都是wireshark,(流量分析工具中的王牌 夺取阿富汗 说了分析http头,所以直接过滤http协议 ...
- http://ctf.bugku.com/challenges#Mountain%20climbing:bugku--Mountain-Climbing
分析这道题,爽,能够结合IDA和ollydbg分析代码,美滋滋.但如果以后能直接根据汇编容易地看懂逻辑那就更好了. 参考链接: https://blog.csdn.net/cossack9989/ ...
- http://ctf.bugku.com/challenges#love:bugku--love
做了一道逆向题目,主要关联到base64编码的知识点.下面做一分析. 题目如下: 通过测试,可知它没有加壳.尝试使用IDA进行分析. 1.IDA分析文件 打开文件后,按[shift+F12 ...
- http://ctf.bugku.com/challenges#%E9%80%86%E5%90%91%E5%85%A5%E9%97%A8:bugku--逆向入门
文件是: 分析挺简单,主要是data urls知识点. 首先使用peid检测是否加壳,发现它居然是jpg文件.使用notepad++查看,结果如下. 嗯,百度一下子,知道了data ...
- http://ctf.bugku.com/challenges#Timer(%E9%98%BF%E9%87%8CCTF):Bugku——Timer(阿里CTF)
做了第一个android apk逆向题,很多工具啥的还没用过,再接再厉. 找到方法发现这个apk支持的SDK API是15-17,于是就下载了API 16并制作了模拟器,但发现还是运行不起来, ...
- http://ctf.bugku.com/challenges#%E6%B8%B8%E6%88%8F%E8%BF%87%E5%85%B3--游戏过关
做成功这道逆向题了,哈哈哈哈. 启程. 运行了一下子程序,发现它是要保证所有灯亮着才会给flag.如下图所示. 我聪明滴认为首先可以通过关键字符串找到关键代码位置哦. 1.找到关键代码 ...
- http://ctf.bugku.com/challenges#Easy_Re
今天做一道逆向题,开心,见证了自己汇编的用途. 首先看它是否加壳? 1.加壳检测 是vc编程的,没有加壳,可以愉快地分析了. 2.分析程序,找到flag. 首先运行一下子程序, ...
- Bugku 分析 中国菜刀
解压之后得到了一个流量包,只有不到10KB,美滋滋 先抓重点,过滤出http,只有6条数据记录,3条post,3条response,3条post都是一样的 随便打开一条pos 是一个assert断言, ...
- CTF | bugku | 字符?正则?
做题链接 一个详细讲正则的网址1 一个详细讲正则的网址2 代码如下 <?php highlight_file('2.php'); $key='KEY{********************** ...
随机推荐
- 分布式文件系统比较出名的有HDFS 和 GFS
分布式文件系统比较出名的有HDFS 和 GFS,其中HDFS比较简单一点.本文是一篇描述非常简洁易懂的漫画形式讲解HDFS的原理.比一般PPT要通俗易懂很多.不难得的学习资料. 1.三个部分: 客户 ...
- Hive是读时模式
Hive处理的数据是大数据,在保存表数据时不对数据进行校验,而是在读数据时校验,不符合格式的数据设置为NULL: 读时模式的优点是,加载数据库快. 传统的数据库如mysql.oracle是写时模式,不 ...
- ES6入门——类的概念
1.Class的基本用法 概述 JavaScript语言的传统方式是通过构造函数,定义并生成新对象.这种写法和传统的面向对象语言差异很大,下面是一个例子: function Point(x, y) { ...
- LeetCode 题解之Minimum Index Sum of Two Lists
1.题目描述 2.问题分析 直接是用hash table 解决问题 3.代码 vector<string> findRestaurant(vector<string>& ...
- 2.Servlet基础总结
一.简介 1.什么是Servlet Servlet(Server Applet),全称Java Servlet,未有中文译文.是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成 ...
- SqlServer查询存储过程中包含指定的内容
存储过程太多,有时只记得存储过程里面的某一点类容,想要找到对应的存储过程: SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容 FROM syscomments sc INNE ...
- npm run dev时报错“events.js:160 throw er; // Unhandled 'error' event”
经查,此问题由端口占用导致,node服务器默认端口8080已被其他程序占用,关闭占用端口的程序或者修改node服务器的默认端口即可解决此问题
- iOS系统声音列表
iOS系统声音列表 效果 说明 1. 点击cell就能发出声音 2. 只需要给出声音编号,就可以,非常简单易用 源码 https://github.com/YouXianMing/iOS-Utilit ...
- web开发方面会遇到哪些缓存?分别如何优化
Web缓存定义: Web缓存游走于服务器和客户端之间,这个服务器可能是源服务器(资源所驻留的服务器Add),数量可能是1个或多个. Web缓存就在服务器-客户端之间搞监控,监控请求,并且把请求输出的内 ...
- November 24th 2016 Week 48th Thursday
All the bright precious things fade so fast. 所有的光鲜靓丽都敌不过时间. What is permanent? Thoughts and ideas. P ...