Excaliflag

  一张图片,winhex打开没什么发现,分值不高,应该属于常见的图片隐写题目。如果对于图片的格式有详细的了解,应该很容易就能够知道了属于最低有效位(LSB)隐写,下面是通过photoshop来处理得到的flag.

签到题

  Base64、栅栏、凯撒;可以直接通过在线网站解密了,在这里使用python来求解(纯属练习练习下代码)

import base64

# base64解密
def b64Decode():
s="Z2dRQGdRMWZxaDBvaHRqcHRfc3d7Z2ZoZ3MjfQ=="
temp=str(base64.b64decode(s),encoding = "utf-8")
return temp # 栅栏密码
def zhalan(s):
#确定可能的栏数
s_len = len(s)
field=[]
for i in range(2,s_len):
if(s_len%i==0):
field.append(i)
mingwen=""
for j in field:
k=int(s_len/j)
for a in range(j):
for m in range(k):
mingwen=mingwen+s[a]
a=a+j
# 分割字符串
n=0
list=[]
for i in range(int(len(mingwen)/s_len)):
list.append(mingwen[n:n+s_len])
n=n+s_len
return list # 凯撒密码
# coding:utf-8
def kaisa(args):
for j in range(26):
for i in range(len(args)):
if(ord(args[i])<65 or ord(args[i])>122):
print(args[i],end="")
elif(ord(args[i])>90 and ord(args[i])<97):
print(args[i],end="")
else:
temp=ord(args[i])+j
if(ord(args[i])>=97):
if(temp>122):
print(chr(temp-26),end="")
else:
print(chr(temp),end="")
else:
if(temp>90):
print(chr(temp-26),end="")
else:
print(chr(temp),end="")
print() #编程能力和算法都太菜了,写的有些复杂了
if __name__ == '__main__':
s = b64Decode()
args=zhalan(s)
print(args)
for i in args:
kaisa(i)

Avatar

就知道下outguess

outguess -r 1.jpg out

得到:We should blow up the bridge at midnight

What-is-this

得到两张图片通过StegSolve异或得到:

Training-Stegano-1

easycap

追踪TCP流得到:FLAG:385b87afc8671dee07550290d16a8071

Get-the-key.txt

通过file命令查看了下文件类型:Linux rev 1.0 ext2 filesystem data (mounted or unclean), UUID=0b92a753-7ec9-4b20-8c0b-79c1fa140869

通过mout挂载:

mount -o loop /root/forensic100 /root/mnt/misc

更具标题需要查找key.txt

grep -r key.txt

# 匹配到二进制文件 1

1: gzip compressed data, was "key.txt", last modified: Wed Oct 1 06:00:52 2014, from Unix, original size 30

gunzip < 1

# SECCON{@]NL7n+-s75FrET]vU=7Z}

embarrass

直接Ctrl+F查找一波就有了

肥宅快乐题

题目描述:

真正的快乐的游戏题,打通就给flag哦,与肥宅快乐水搭配更佳。 Flash游戏,通关后,注意与NPC的对话哦;)

下载是一个swf文件, 百度得知:SWF是一种基于矢量的Flash动画文件, SWF格式文件广泛用于创建吸引人的应用程序,它们包含丰富的视频、声音、图形和动画。

打通关游戏或者通过potplayer定位到57帧

小小的PDF

binwalk分析下发现存在三张图片

直接通过foremost工具提取就得到flag再第三张图片里面

Test-flag-please-ignore

十六进制

glance-50

把每一帧提取出来拼接就可以了

# 图片拼接
import PIL.Image as Image
import os, sys
Temp=Image.open('Frame0.jpg')
w,h=Temp.size
toImage = Image.new('RGB', (w*201, h))
for y in range(201):
fname = "Frame%d.jpg" %y
fromImage = Image.open(fname)
toImage.paste(fromImage, (y * w, 0))
toImage.save('mage.jpg')

4-2

古典替换密码,通过 https://quipqiup.com/ 网站跑一下得到:

In cryptography a substitution cipher is a ?ethod of encoding by which units of plaintext are replaced with ciphertext If you know the way of encoding u will get the flag which is classical-cipher_is_not_security_hs

misc1

d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd

hex编码,解码后不是可见字符的范围,然后模128之后,得到flag

s='d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd'
flag=""
for i in range(len(s)/2):
flag+=chr(int(s[:2],16)%128)
s=s[2:]
print flag

hit-the-core

通过strings命令,发现一个疑似字符串

cvqAeqacLtqazEigwiXobxrCrtuiTzahfFreqc{bnjrKwgk83kgd43j85ePgb_e_rwqr7fvbmHjklo3tews_hmkogooyf0vbnk0ii87Drfgh_n kiwutfb0ghk9ro987k5tfb_hjiouo087ptfcv}

然后可以得出规律:

cvqAeqacLtqazEigwiXobxrCrtuiTzahfFreqc{bnjrKwgk83kgd43j85ePgb_e_rwqr7fvbmHjklo3tews_hmkogooyf0vbnk0ii87Drfgh_n kiwutfb0ghk9ro987k5tfb_hjiouo087ptfcv}

那么通过python每个四个字符提取就得到了最后的flag:

s='cvqAeqacLtqazEigwiXobxrCrtuiTzahfFreqc{bnjrKwgk83kgd43j85ePgb_e_rwqr7fvbmHjklo3tews_hmkogooyf0vbnk0ii87Drfgh_n kiwutfb0ghk9ro987k5tfb_hjiouo087ptfcv}'
flag=''
for i in range(3,len(s),5):
flag+=s[i]
print(flag)

Cephalopod

搜索关键字符串发现一个flag.png文件,导出来即得到了flag:

pure_color

借助工具StegSolve:

(之后尝试不用工具,自己写个脚本试试看)

2-1

png文件,发现文件头不对,修改后依旧无法打开,binwalk也没发现什么东西。然后发现宽度被修改为了0,那么很明显通过CRC爆破出宽度了

import struct
import binascii
import os m = open("1.png","rb").read()
for i in range(1024):
c = m[12:16] + struct.pack('>i', i) + m[20:29]
crc = binascii.crc32(c) & 0xffffffff
if crc == 0x932f8a6b:
print(hex(i))

这里直接贴的师傅的代码:https://blog.csdn.net/zz_Caleb/article/details/89927673

(之后再好好研究下关于CRC的问题)

János-the-Ripper

爆破即可

神奇的Modbus

搜索字符串得到的是:sctf{Easy_Mdbus},但是得改成sctf{Easy_Modbus}提交

2017_Dating_in_Singapore

题目描述

01081522291516170310172431-050607132027262728-0102030209162330-02091623020310090910172423-02010814222930-0605041118252627-0203040310172431-0102030108152229151617-04050604111825181920-0108152229303124171003-261912052028211407-04051213192625

脑洞······

攻防世界 MISC篇的更多相关文章

  1. 攻防世界misc——János-the-Ripper

    攻防世界misc---János-the-Ripper 附件题目,题目的文件名为:misc100. 下载后,拖入linux中,binwalk发现有隐藏文件.用"strings  János- ...

  2. 攻防世界 Misc 新手练习区 stegano CONFidence-DS-CTF-Teaser Writeup

    攻防世界 Misc 新手练习区 stegano CONFidence-DS-CTF-Teaser Writeup 题目介绍 题目考点 隐写术 摩斯密码 Writeup 下载附件是PDF文件打开,研究一 ...

  3. 攻防世界 Misc 新手练习区 ext3 bugku Writeup

    攻防世界 Misc 新手练习区 ext3 bugku Writeup 题目介绍 题目考点 WinHex工具的使用 linux磁盘挂载mount命令 Writeup 下载附件拖进winhex分析一下,查 ...

  4. 攻防世界 Misc 新手练习区 gif Writeup

    攻防世界 Misc 新手练习区 gif Writeup 题目介绍 题目考点 仔细联想 字符转换 Writeup 下载附件并打开 104张黑白图 发现是一堆黑色和白色的图片,按某种规律排列,猜想flag ...

  5. 攻防世界 Misc 新手练习区 坚持60s Writeup

    攻防世界 Misc 新手练习区 坚持60s Writeup 题目介绍 题目考点 java反编译 jd-gui 的使用 Writeup 下载附件并打开 kali执行命令 java -jar 9dc125 ...

  6. 攻防世界 Misc 新手练习区 give_you_flag Writeup

    攻防世界 Misc 新手练习区 give_you_flag Writeup 题目介绍 题目考点 gif图片分离 细心的P图 二维码解码 Writeup 下载附件打开,发现是一张gif图片,打开看了一下 ...

  7. 攻防世界 Misc 新手练习区 如来十三掌 Writeup

    攻防世界 Misc 新手练习区 如来十三掌 Writeup 题目介绍 题目考点 佛曰加密.base64.Rot13等加密方法的了解 Writeup 下载并打开附件 联想到佛曰加密,复制内容到 佛曰加密 ...

  8. 攻防世界MISC进阶之签到题

    攻防世界MISC进阶之签到题    第一步:分析    第二步:实操    第三步:答案第一步:分析难度系数:1星题目来源: SSCTF-2017题目描述:SSCTF线上选举美男大赛开始了,泰迪拿着他 ...

  9. 攻防世界-MISC:glance-50

    这是攻防世界MISC高手进阶区的题目,题目如下: 点击下载附件一,得到一张GIF动图如下 找个网站给分离一下,将gif分离为图片,共201张,然后拼接在一起即可得到flag 所以这道题的flag如下: ...

随机推荐

  1. boost库:事件处理

    boost库的signal所实现的模式被命名为信号至插槽,当对应的信号被发出时,相关联的插槽即被执行. #include <boost/signal.hpp> #include <i ...

  2. GO 学习资源收集

     golang图书,在线阅读Go轻松学https://www.golang123.com/book/16 Go示例学https://www.golang123.com/book/17 Go Web 编 ...

  3. SpringMVC·form表单Date类型问题导致的400问题

    问题描述 前端传yyyy-MM-dd hh:mm:ss格式的时间其实是String类型导致JavaBean中的Date类型Setter报错,从而导致api请求400. 问题解决 我的解决方式: 在对应 ...

  4. Nginx + Tomcat 配置负载均衡集群简单实例

    一.Hello world 1.前期环境准备 准备两个解压版tomcat,如何同时启动两个tomcat,请看我的另一篇文章<一台机器同时启动多个tomcat>. nginx官网下载解压版n ...

  5. VS2014:"64位调试操作花费的时间比预期要长",无法运行调试解决办法

    解决步骤: 右键管理员运行命令提示符,输入IISRESERT,重启IIS即可

  6. 公司-ofo:ofo

    ylbtech-公司-ofo:ofo ofo小黄车是一个无桩共享单车出行平台,缔造了“无桩单车共享”模式,致力于解决城市出行问题.用户只需在微信公众号或App扫一扫车上的二维码或直接输入对应车牌号,即 ...

  7. c++简单String类实现

    #include <iostream> #include <string> using namespace std; class String { public: String ...

  8. python学习笔记:模块——os模块(操作文件/目录)

    import os os.rename(old,new) #重命名文件或目录 os.remove(f)#删除文件 os.mkdir('china/beijing') #创建文件夹 os.makedir ...

  9. cmd 运行 java 文件

    在安装好jdk 并配置好环境变量的情况下 原因一:没有指定class文件的路径 例如HI是变异好的class文件,并且在d:/RJAZB里面 如果写成 Java HI  则会报错 正确做法 java ...

  10. leetcode.数组.667优美的排列II-Java

    1. 具体题目 给定两个整数 n 和 k,你需要实现一个数组,这个数组包含从 1 到 n 的 n 个不同整数,同时满足以下条件:① 如果这个数组是 [a1, a2, a3, ... , an] ,那么 ...