说一道简单的BCTF题 – 分分钟而已
作者Int_Null93
今天闲的没事,刚好看到FB有两三篇讲BCTF的,也来说一道题目,就是WEB100的那道。如图所示:
首先跳转到链接看一看,嗯。。。貌似进不去了。。。那就只能文字性的描述一下了,进去之后是4个人名,点击之后会有跳转,显示当前人名,分别是H.shao,Angelia,Lamos,Ray。可惜没咱们需要的Alice。
开始分析,首先F12看了看源码、Resources、Network那些,没什么发现。。。不过也很正常,然后看到了url里面的id,感觉是md5加密的:
e958c26cb69fb763faeb2849076d78f4
20e8c6b8771ed6f565e6c251b319519a
07b5511fb9e036990211eff978b1ee16
8d44a8f03ab5f71ce78ae14509a03453
然后放搜md5里面查了查,还真解出来了:
H.shao545
Angelia689
Lamos508
Ray300
根据经验,咱们要找的Alice的id应该也是Alice加上3位数字的md5机密值。那就爆破呗。写了一小脚本:
<?php
for($num=0;$num<10;$num++)
{
$string1="Alice00".$num;echo md5($string1)."<br>";
}
for($num1=1;$num1<10;$num1++){
for($num=0;$num<10;$num++){
$string1="Alice0".$num1.$num;echo md5($string1)."<br>";
}
}
for($num=100;$num<1000;$num++){
$string1="Alice".$num;echo md5($string1)."<br>";
}//echo md5("Alice000");?>(代码略丑,大牛轻喷。。。括弧笑)
跑出来大概就是这样的:
然后放burp里面就开始爆破了,当时没截图,现在也进不去,所以没图了。好像跑出来就是Alice475还是478,不太记得了。。。也可能两个都是错的,但思路就是这样。
然后提交呗,结果这还只是开始。。。进到Alice页面后,又给一个id,再跳转,然后是一个BT5的界面,看了看源代码,里面有一行<!– key= OUR MOTTON–>。翻译过来大概就是我们的口号/宣言吧,难道是没有蛀牙?呵呵,开个玩笑。。。google了一下BT5的宣言,进官网,title就是:
The quieter you beconme,the more you are able to hear…
看似找到了答案,实则才是最痛苦的开始,期间的辛苦不足为外人道,只能告诉大家。最后提交的Key形式为:
THE QUIETER YOU BECOME THE MORE YOU ARE ABLE TO HEAR。没有那个逗号!!!
还是burp或者Fiddler提交之后,页面刷新到了百度(不愧是百度赞助的),发现刷新的时候有一个跳转,用火狐抓抓包,然后找到了一个flag-in-config.php.bak。改url提交,下载了一个config.php.bak文件,打开一看,很熟悉嘛,js加密:
直接chrome控制台,解出来了:
BCTF{fuck_the_guys_who_are_exchanging_fl4g_you_are_destroying_this_game}
两小时就搞了一道题。。。心碎。。。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Redis常用命令详解
- three.js 制作逻辑转体游戏(下)
- ROS机器人TF基础(坐标相关概念和实践)
- (在模仿中精进数据可视化01) 全国38城居住自由指数可视化
- js字符串/数组常用方法总结
- ThinkPHP5+mpdf 实现富文本生成 PDF文件
- nodejs使用readline逐行读取和写入文件
- go语言逐行读取和写入文件
- SpringBoot中Tomcat是如何启动的
- 自定义注解详解及应用
- 微服务开源框架TARS 之 框架服务解析
- dotnet 在 UOS 国产系统上使用 Xamarin Forms 创建 xaml 界面的 GTK 应用
- K8s集群上使用Helm部署2.4.6版本Rancher集群
- VMware下安装CentOS
- leetcode多线程之按序打印