苦逼的RCTF,只进行了两天,刚好第二天是5.20,出去xxx了,没法打比赛,难受。比赛结束了,还不准继续提交flag进行正确校验了,更难受。

下面是本次ctf解题思路流程

后面我解出的题会陆续更新上来

MISC

sign

下载附件,发现打不开,以兼容性、管理员权限等还是打不开

丢进winhex初步审视一下16进制没啥发现

用binwalk扫描一下,发现一张png

提取,但是提取不出来,转手动提取,得到图片

本子,铅笔,红酒杯。

通过红酒杯联想到linux wine,用wine打开,得到flag

git

打开下载的附件,里面有个helloword.txt。打开里面没啥发现。。

进.git里面去看看,在COMMIT_EDITMSG处看到

发现flag被删掉了,题目也说file lost了

在ORIG_HEAD

尝试pull,失败,再尝试一下revert呢,得到flag XD

Number Game

直接nc过去看题

sha256加密,四位数还好可以碰撞,脚本跑起来:

sha256enc = "087e72033b1eacecd78845563696b9a449015aeb29a12b0f49c969cafababbb2"
key = "DPgOJtFiF9euj7HX" for i in strlist:
code = i[0]+i[1]+i[2]+i[3]
encinfo = hashlib.sha256(code+key).hexdigest()
if encinfo == sha256enc:
print code
break

可以得到code,输入

来到正题

随意尝试了输入,猜测Nope的规律,大概就是Nope x,y   x表示有x个数字猜对并且位置对了,y表示有y个数字猜对了,但是位置错的

猜测机会只有6次!且每次输入值如果大于10秒左右就提示timeout了,所以人为分析是不可能了(除非你是脑王,能在10秒内见招拆招看到回馈想出下一步要猜的数的话当我在放屁)

其实这个游戏很早就有了(文曲星猜数字了解一下)

网上没有关于python的解题程式这是比较坑的,由于本人之前没有玩过猜数字游戏,迫于无奈只有先去查阅资料了解算法原理,最后自己苦逼码出了python解法

经过8回合(其实实际应该大战了一百回合Orz)的大战,搞到了flag。。。。。

下面是python猜数字解法(本算法是原创算法,不是最优算法,一次挑战可能不成功,多执行几次就可以了,大神勿喷。。。。)

#!/usr/bin/env python
# coding=utf-8
# author:401219180
import time
import socket
import string
import re
import itertools
import hashlib def returnmsg(data):
"""发送与接收,代替nc"""
s.send(data)
time.sleep(1.5)
msg = s.recv(2048)
return msg def createTree(inputstr, dictree):
"""对比集合列表得出a,b生成字典"""
inputlist = inputstr.split(" ")
newdictree = {}
for x in dictree:
a, b = 0, 0
for i in range(4):
if inputlist[i] == x[i]:
a += 1
continue
if inputlist[i] in x:
b += 1
continue
newdictree[x] = a, b
return newdictree def createList(dic, result):
"""集合字典里面生成有效集合列表"""
numlist = []
for k, v in dic.iteritems():
if v == result:
numlist.append(k)
return numlist def listvalueTostr(listindex):
"""生成要猜的值"""
inputstr = listindex[0] + " " + listindex[1] + " " + listindex[2] + " " + listindex[3]
return inputstr # 建立nc连接
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("149.28.139.172", 10002))
time.sleep(1)
firstinfo = s.recv(1024)
r = r'\+(.*?)\)'
key = re.findall(r, firstinfo)[0]
sha256enc = firstinfo[-78:-14]
print key
print sha256enc # sha256碰撞,得出xxxx的值
code = ''
strlist = itertools.product(string.letters + string.digits, repeat=4) for i in strlist:
code = i[0] + i[1] + i[2] + i[3]
encinfo = hashlib.sha256(code + key).hexdigest()
if encinfo == sha256enc:
print code
break print returnmsg(code) r1 = r'Nope. (.*?)\n' # 正则用于匹配Nope的值 def startgame():
# 初始化列表
while 1: # 打通关了才知道连续大战8回合,所以干脆写个无限循环
numlist = []
for i in itertools.permutations(string.digits, 4):
numlist.append(i)
input1 = "2 3 4 5" # 根据本人多次测试,首轮猜2 3 4 5比猜1 2 3 4赢得几率大些Orz....
while 1:
dictree1 = createTree(input1, numlist)
print "guess: " + input1
recvdata = returnmsg(input1)
print recvdata
if "You got it!" in recvdata:
break ab = re.findall(r1, recvdata)[0]
numlist = createList(dictree1, eval(ab))
try:
input1 = listvalueTostr(numlist[0])
except IndexError, msg:
print msg if "Flag" in recvdata: # 如果返回的信息里面有Flag,终止while循环
break startgame()

520 gift

下载附件解压得到一堆口红图片Orz

看hint,首先要找齐所有口红色号。。。。。。。这道题主要是考验毅力和女朋友力。。。

在大佬的帮助下,在微博找到了美妆博主

经过一个一个的比对。。。。。。。。

1、Russian red
2、Chili
3、Tenor Voice
4、Fixed on drama
5、red coquette
6、barbecue
7、dangerous
8、lady danger
9、my inner femme
10、lady bug
11、opera
12、mac red
13、brave red
14、Ruby Woo
15、sparks of romance
16、lingering kiss
17、just a bite

首字母即是flag..

未待完续

To be continued...

后面会陆续更新

RCTF 2018线上赛 writeup的更多相关文章

  1. QCTF 2018线上赛 writeup

    本次算是被QCTF打趴了,本来做题时间就少(公司无限开会,开了一天,伪借口),加上难度和脑洞的增大,导致这次QCTF又酱油了...就连最基本的签到题都没做出来...这就很气 好了,以下是解题思路 MI ...

  2. ISCC 2018线上赛 writeup

    今天有机会去ISCC2018参加了比赛,个人的感受是比赛题目整体难度不高,就是脑洞特别大,flag形式不明确,拿到flag后也要猜测flag格式,贼坑 废话不多说,以下是本人的解题思路 MISC 0x ...

  3. DDCTF 2018线上赛writeup

    第一题: d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e ...

  4. 2019第十二届全国大学生信息安全实践创新赛线上赛Writeup

    本文章来自https://www.cnblogs.com/iAmSoScArEd/p/10780242.html  未经允许不得转载! 1.MISC-签到 下载附件后,看到readme.txt打开后提 ...

  5. 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)

    2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...

  6. 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 F题 Clever King(最小割)

    2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...

  7. “玲珑杯”线上赛 Round #17 河南专场

    闲来无事呆在寝室打打题,没有想到还有中奖这种操作,超开心的 玲珑杯”线上赛 Round #17 河南专场 Start Time:2017-06-24 12:00:00 End Time:2017-06 ...

  8. 计蒜客 25985.Goldbach-米勒拉宾素数判定(大素数) (2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 B)

    若干年之前的一道题,当时能写出来还是超级开心的,虽然是个板子题.一直忘记写博客,备忘一下. 米勒拉判大素数,关于米勒拉宾是个什么东西,传送门了解一下:biubiubiu~ B. Goldbach 题目 ...

  9. 20190815网络与信息安全领域专项赛线上赛misc WriteUp

    目录 签到题 题目内容 使用工具 解题步骤 七代目 题目下载地址 使用工具 解题步骤 亚萨西 题目下载链接 使用工具 解题步骤 24word 题目下载链接 使用工具 解题步骤 感想 几星期前报了名却完 ...

随机推荐

  1. Linux权限与命令间的关系

    极重要!权限与命令间的关系: 我们知道权限对於使用者帐号来说是非常重要的,因为他可以限制使用者能不能读取/创建/删除/修改文件或目录! 在这一章我们介绍了很多文件系统的管理命令,第六章则介绍了很多文件 ...

  2. PS图像特效算法——镜像渐隐

    这个特效的实现,可以先利用前面提到的渐变特效,做一个图像的渐变, 然后将原图与渐变图对称放置,将背景设置成黑色. clc; clear all; close all; Image=imread('4. ...

  3. 不错的网络协议栈测试工具 — Packetdrill

    Packetdrill - A network stack testing tool developed by Google. 项目:https://code.google.com/p/packetd ...

  4. DBUS基础知识

    转:http://www.cnblogs.com/wzh206/archive/2010/05/13/1734901.html DBUS基础知识 1.  进程间使用D-Bus通信 D-Bus是一种高级 ...

  5. SharePoint 入门级介绍

    前言:接触SharePoint两年有余,从一开始的小白,变成现在的菜鸟,一路走来,学到很多,现在,想把自己知道的东西,写给大家,尤其是刚刚接触SharePoint的人们,做一个简单的参考.从一开始接触 ...

  6. ruby中如何调用与局部变量同名的私有方法

    如果ruby中一个局部变量名和私有方法名同名的话,默认该名称被解释为变量而不是方法: x=10; def x;puts "what?" end 当你输入x实际不能执行x方法.解释器 ...

  7. 解决Visual Studio 2017隐藏“高级保存选项”命令

    Visual Studio提供高级保存选项功能,它能指定特定代码文件的编码规范和行尾所使用的换行符.在Visual Studio 2017中,该命令没有默认显示在“文件”菜单中.用户需要手工设置,才能 ...

  8. Java复习2.程序内存管理

    前言: 国庆节的第三天,大家都回家了,一个人在宿舍好无聊.不过这年头与其说是出去玩不如是说出去挤,所以在学校里还是清闲的好.找工作不用担心了,到时候看着你们慢慢忙:插个话题,大学都没有恋爱过,总之各种 ...

  9. js获取Session的值

    纯htm页面必须采用AJAX了, ASP页面:var manager='<%=session("manager")%>', ASPX页面:var manager='&l ...

  10. web 高并发分析

    <高并发Web系统的设计与优化>的读后感 一口气看完了<高并发Web系统的设计与优化>,感觉受益匪浅,作者从高并发开始讨论问题,并逐步给出了非常有建设性的想法和建议,是值得我们 ...