2017 百度杯丶春秋欢乐赛 writeup
1. 内涵图(Misc)
题目:
我不是一个简单的图片
我是一个有内涵的图片

解:保存到桌面,右键属性->详细信息,即可获得flag.

2. 小电影(Misc)
题目:
我说过
这次比赛是让大家开开心心的度过的
所以
送给你们一个小电影

解:图片被损坏。
(1)检查文件头,发现没有GIF8,用winhex补上。

(2)重新打开gif,图片已修复。

(3)使用Stegsolve分帧查看,可得flag。


3.水果宴
题目:
你吃了多少水果
访问地址:http://120.132.85.112:20003 (链接为题目自动生成,过期访问无效)
解:查看源代码,可发现如下一段js
放到控制台跑一下,可得flag。
var egg,Banana,Apple,Pear,Grape,watermelon,orange;
egg = 21.07;
chicken = egg*3;
Apple=chicken+egg;
Pear=Apple/chicken+egg;
Grape = Apple-Pear*chicken+egg;
watermelon=Grape+Pear/Apple-chicken*egg;
orange=watermelon*Grape+Pear+Apple*chicken+egg;
Flag = 'Flag{'+String(Math.floor(egg))+'}';
4.象棋
题目:开心的玩游戏吧。
访问链接:http://af8c91d771994c79a169bd8c291637d158331c7bc65248ad.ctf.game (链接为题目自动生成,过期访问无效)
解:点进去是一个象棋游戏,查看源代码,扫一遍发现这个js有问题

猜测 flag存在于某个js文件中,文件名为"abcmlyx"中取2个字母,"0123456789"中取3个数字,例如 js/abctf123.js。
使用python生成字典
key1 = "abcmlyx"
key2 = "0123456789"
file = open("xiangqi.txt","r+")
sum =0
for i in key1:
for j in key1:
for k in key2:
for m in key2:
for n in key2:
url="/js/"+i+j+"ctf"+str(k)+str(m)+str(n)+".js"+"\n"
file.write(url)
sum=sum+1
file.close()
print("Number of possibilities: "+str(sum))
print("ok")

调用xiangqi.txt 进行爆破
import requests
import re
import sys
import time
import datetime
starttime = datetime.datetime.now()
file = open("data.txt","r+")
array=[]
for line in open('xiangqi.txt'):
array.extend(line.strip().split('\n'))
for line in array:
print(line)
url = "http://af8c91d771994c79a169bd8c291637d158331c7bc65248ad.ctf.game/"+line
try:
wp=requests.get(url,timeout=10)
except requests.exceptions.Timeout:
print ("Timeout occurred")
file.write(line+'\n')
m =re.search('flag',wp.text)
if m :
print(line+" is our need!")
break
endtime=datetime.datetime.now()
file.close()
print("use time: "+endtime-starttime+"\n")
print("ok return")
①对xiangqi.txt中所有数据分行处理读入array数组
②把array数组中每一个数据加到题目链接后
③访问该网页,并将返回内容存到wp中(由于request.get存在超时异常,故在这里进行try except,对个别超时的数据项存到另外的文件中,可以手动进行访问查看)
④使用re.search函数对wp中所有内容搜索"flag"字段
⑤若存在,则爆破结束,若不存在,则继续
爆破时间有点长,可以分成多个文件,同时进行爆破。
【更新】孤陋寡闻了。。。爆破可以用国内的御剑,专门的爆破软件会多线程同步进行遍历,速度大大加快。

勾选的"PHP:49000",是我在配置文件中把原来的PHP.txt的内容换成了前面xiangqi.txt的内容
御剑爆破软件下载链接
5. 时间
题目:时间是宝贵的。
访问链接:http://e242eebffcd24abdb1678c24528258d7715127a9437c4db4.ctf.game/ (链接为题目自动生成,过期访问无效)
解:进入题目链接,可见

- 此题关键点:页面刷新显示后,必须在10秒内找到并打开flag所在的文件,否则这个文件会被删除(怪不得"天下武功唯快不破")
- 代码分析:作者从flag.php中提取文本内容到$txt变量中,再随机产生一个1-1000的数字进行md5加密作为文件名$filename,最后把$txt的内容放入$filename文件中去。接着睡眠10秒,最终删除该文件。
另外这道题不需要用到cookie欺骗。
(1)首先生成1~1000的字典
import hashlib
import requests
file = open("data.txt",'w+')
for i in range(1,1001):
m = hashlib.md5()
m.update(str(i).encode())
mid = m.hexdigest()
url = 'u/'+mid+'.txt'
file.write(url+'\n')
file.close()
注意这里str(i)要对字符编码规范
(2)放到御剑中爆破

勾选的"PHP:1000",是我在配置文件中把原来的PHP.txt的内容换成了前面data.txt的内容。
御剑爆破软件下载链接
该步骤需要注意的是:
(1)域名的最后要加上'/'
(2)线程项调至60以上(太小会导致扫描太慢以至于错过10秒)
(3)刷新题目链接后,在十秒内完成扫描,并点开flag文件。(若超过十秒 即使已经扫描到了也会访问不到 因为文件已经被删除)
6.攻击
题目:一个ip只有一个机会,哈哈哈。
访问链接:http://0c3aac1c986c47feacdb2c322a123112c0d2364b864a40ad.ctf.game/

解:
分析所给的PHP代码可知:
(1)若当前IP与$ip变量的内容相同,则提示信息直接退出。
(2)当POST中某id的键值等于'attack'时,打印$flag。这个id为$flag的第五个位置开始,长度为3的一个字符串。
(3)如果不满足(2),则检查POST的变量个数,大于0则把你当前的IP加入到黑名单中(故一个IP只能攻击一次,失败了就要重新创建题目)
此题存疑,留funder大神的writeup作记录
import requests
a = "1234567890"
data = {}
for i in a:
for j in a:
for k in a:
data[i+j+k]="attack"
print(data)
r=requests.post("http://0c3aac1c986c47feacdb2c322a123112c0d2364b864a40ad.ctf.game/",data=data)
print(r.text)

2017 百度杯丶春秋欢乐赛 writeup的更多相关文章
- 2017 百度杯丶二月场第一周WP
1.祸起北荒 题目: 亿万年前 天子之子华夜,被父神之神末渊上神告知六荒十海之北荒西二旗即将发生一场"百度杯"的诸神之战 他作为天族的太子必须参与到此次诸神之战定六荒十海 华夜临危 ...
- i春秋第二届春秋欢乐赛RSA256writeup
i春秋第二届春秋欢乐赛writeup 下载之后进行解压 发现四个文件 0x01看到题目是RSA的 又看到public.key 所以直接用kali linux的openssl 0x02可以看到e就是E ...
- ctf百度杯十二月场what_the_fuck(一口盐汽水提供的答案)
目录 漏洞利用原理 具体利用步骤 漏洞利用原理 read(, &s, 0x20uLL); if ( strstr(&s, "%p") || strstr(& ...
- CTF-i春秋网鼎杯第四场部分writeup
CTF-i春秋网鼎杯第四场部分writeup 因为我们组的比赛是在第四场,所以前两次都是群里扔过来几道题然后做,也不知道什么原因第三场的题目没人发,所以就没做,昨天打了第四场,简直是被虐着打. she ...
- CTF-i春秋网鼎杯第二场misc部分writeup
CTF-i春秋网鼎杯第二场misc部分writeup 套娃 下载下来是六张图片 直接看并没有什么信息 一个一个查看属性 没有找到有用信息 到winhexv里看一下 都是标准的png图片,而且没有fla ...
- CTF-i春秋网鼎杯第一场misc部分writeup
CTF-i春秋网鼎杯第一场misc部分writeup 最近因为工作原因报名了网鼎杯,被虐了几天后方知自己还是太年轻!分享一下自己的解题经验吧 minified 题目: 一张花屏,png的图片,老方法, ...
- “百度杯”CTF比赛 2017 二月场(Misc Web)
爆破-1: 打开链接,是502 我直接在后面加个变量传参数:?a=1 出了一段代码 var_dump()函数中,用了$$a,可能用了超全局变量GLOBALS 给hello参数传个GLOBALS 得到f ...
- [i春秋]“百度杯”CTF比赛 十月场-Hash
前言 涉及知识点:反序列化.代码执行.命令执行 题目来自:i春秋 hash 如果i春秋题目有问题可以登录榆林学院信息安全协会CTF平台使用 或者利用本文章提供的源码自主复现 [i春秋]"百 ...
- 第六届蓝桥杯软件类省赛题解C++/Java
第六届蓝桥杯软件类省赛题解C++/Java 1[C++].统计不含4的数字统计10000至99999中,不包含4的数值个数.答:暴力循环范围内所有数字判断一下就是了,答案是52488 1[Java]. ...
随机推荐
- Kestrel.Transport.Sockets分析与使用
相信大家都清楚asp core有着非常出色的性能,它出色的性能也源于网络服务模块Kestrel:在techempower测试中Kestrel基础核心达到了700万级别的RPS吞吐能力,具备这样的能力那 ...
- 什么是Web Server
WebService到底是什么? 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. WebService平台技术 XML+XSD,SOAP和WSDL就是构成WebSer ...
- 【.NET Core项目实战-统一认证平台】第九章 授权篇-使用Dapper持久化IdentityServer4
[.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章介绍了IdentityServer4的源码分析的内容,让我们知道了IdentityServer4的一些运行原理,这篇将介绍如何使用d ...
- DSAPI多功能组件编程应用-网络相关(上)
[DSAPI.DLL下载地址] DSAPI多功能组件编程应用-网络相关,网络相关编程有很多很多,这里讲解一下封装在DSAPI中的网络相关的功能,这些都是本人简化到极点的功能了,可以在软件开发过程中节 ...
- 《C#并发编程经典实例》学习笔记—2.4 等待一组任务完成
问题 执行几个任务,等待它们全部完成. 使用场景 几个独立任务需要同时进行 UI界面加载多个模块,并发请求 解决方案 Task.WhenAll 传入若干任务,当所有任务完成时,返回一个完成的任务. 重 ...
- Android安全–检测是否为Android模拟器
有时候需要检测是否在模拟器上运行还是在真机运行,话不多说.检测代码如下: package com.monkey.antiemulator; import java.io.File; import ja ...
- git操作+一个本地项目推到github上+注意
git init 创建新文件夹,打开,然后执行以创建新的 git 仓库. git config --global user.name "xxx" git config --glob ...
- 自然底数e的意义是什么?
自然底数e的意义是什么? https://mp.weixin.qq.com/s?__biz=MzA5ODUxOTA5Mg==&mid=2652553811&idx=1&sn=0 ...
- 广州.NET微软技术俱乐部休闲活动 - 每周三五晚周日下午爬白云山活动
基于如下原因: 正如我们在<广州.NET微软技术俱乐部与其他技术群的区别>里面提到的:有人在活动中表达"少了一点自由交流的时间, 我们来自五湖四海, 希望多点时间彼此认识&quo ...
- 在Office应用中打开WPF窗体并且让子窗体显示在Office应用上
在.NET主程序中,我们可以通过创建 ExcelApplication 对象来打开一个Excel应用程序,如果我们想在Excle里面再打开WPF窗口,问题就不那么简单了. 我们可以简单的实例化一个WP ...