CTF练习week04

1. baby_web

题目描述:想想初始页面是哪个

访问网址,就是一个大写的HELLO WORLD
在这里插入图片描述
F12查看源码,发现并没有隐藏什么
在这里插入图片描述

提示说想想初始页面是哪个,访问url+index.php,结果发现访问的还是url+1.php
使用火狐浏览器的开发者选项,点击网络,查看消息头,发现index.php的location参数被设置了1.php,蓝色箭头所指即为flag在这里插入图片描述

2. Training-WWW-Robots

访问网址,一大串英文
在这里插入图片描述
翻译一下
在这里插入图片描述
意思大概是这道题可以让你了解机器查询的标准,和robots.txt web爬虫用来检测是否允许其搜索你的网站

这题主要考查robots协议
在这里插入图片描述
进入robots.txt页面
在这里插入图片描述
按照提示访问f10g.php,得到flag
在这里插入图片描述

3. A_Beautiful_Picture

下载附件,是一张图片,应该进行了隐写
在这里插入图片描述
右键属性
在这里插入图片描述
用winhex打开图片,第二行前四位是宽,后四位是高。将高改为03e8
在这里插入图片描述
保存并打开图片
在这里插入图片描述

4. 假如给我三天光明

下载附件,解压得到一个压缩包和jpg图片。
在这里插入图片描述
打开jpg,题目说是是假如给我三天光明,猜想到盲文
在这里插入图片描述
百度盲文
在这里插入图片描述

对照图片解码,结果是kmdonowg

打开压缩包发现被加密了,刚才的应该是密码,输入密码解压,得到一个wav文件
在这里插入图片描述
用Audacity打开文件
在这里插入图片描述
波的宽度分辨长短音,比较细的就是短音,代表 . ;比较粗的就是长音,代表 -
得到摩斯电码:
-.-. - ..-. .-- .--. . .. ----- ---.. --... ...-- ..--- ..--.. ..--- ...-- -.. --..
摩斯密码解密,得到flag在这里插入图片描述

5. just_a_rar

下载附件,解压得到一个加密了的压缩包
在这里插入图片描述
提示是四位数,用ARCHPR爆破一下,得到口令是2016
在这里插入图片描述
输入密码解压文件,得到一张名为flag.jpg的图片,flag应该就在这里面,用010Editor打开图片,搜索flag
在这里插入图片描述

6. LSB

在这里插入图片描述
下载压缩包,解压得到一个图片
在这里插入图片描述
用Stegsolve打开,进行异或
在这里插入图片描述
在通道为0时发现了异常
在这里插入图片描述
将所有通道设为0,然后保存为flag.png在这里插入图片描述
打开图片,发现是二维码
在这里插入图片描述
扫描后得到cumtctf{1sb_i4_s0_Ea4y}


7.转轮机加密

在这里插入图片描述
下载附件后,得到:
在这里插入图片描述

首先托马斯-杰弗逊转轮加密由三串字符串组成,第一部分为加密表,第二部分为密钥,第三部分为密文 。加密表就是我们需要利用密钥和密文来进行加密。

首先查看密钥第一个字符为2,因此我们需要到加密表中去查找第2行的数据

  2: < KPBELNACZDTRXMJQOYHGVSFUWI <

这里我们再利用密文的第一个字符N进行旋转,N在这里的作用就是旋转过后的第一个字符即为N
在这里插入图片描述
即将上图中的红色部分移到最前面,因此我们可以来对加密表中的第一段密文进行解密:

    原  先:KPBELNACZDTRXMJQOYHGVSFUWI 
    旋转后:NACZDTRXMJQOYHGVSFUWIKPBEL

经过一番观察后,密文里面的字母在对应的密钥行里只出现了一次。根据密钥我们调整一下密码表:
在这里插入图片描述
然后根据密钥调整:

在这里插入图片描述

然后发现了倒数第八列FIREINTHEHOLE,可以组成词组,即fire in the hole,这就是flag所在。
在这里插入图片描述
把FIREINTHEHOLE转化为小写,即为flag

wp里面的的python脚本

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import re
sss = '1: < ZWAXJGDLUBVIQHKYPNTCRMOSFE < 2: < KPBELNACZDTRXMJQOYHGVSFUWI < 3: < BDMAIZVRNSJUWFHTEQGYXPLOCK < 4: < RPLNDVHGFCUKTEBSXQYIZMJWAO < 5: < IHFRLABEUOTSGJVDKCPMNZQWXY < 6: < AMKGHIWPNYCJBFZDRUSLOQXVET < 7: < GWTHSPYBXIZULVKMRAFDCEONJQ < 8: < NOZUTWDCVRJLXKISEFAPMYGHBQ < 9: < XPLTDSRFHENYVUBMCQWAOIKZGJ < 10: < UDNAJFBOWTGVRSCZQKELMXYIHP < 11 < MNBVCXZQWERTPOIUYALSKDJFHG < 12 < LVNCMXZPQOWEIURYTASBKJDFHG < 13 < JZQAWSXCDERFVBGTYHNUMKILOP <'
m = 'NFQKSEVOQOFNP'
# 将sss转化为列表形式
content=re.findall(r'< (.*?) <',sss,re.S)
# re.S:DOTALL,此模式下,"."的匹配不受限制,可匹配任何字符,包括换行符
iv=[2,3,7,5,13,12,9,1,8,10,4,11,6]
print(content)
vvv=[]
for i in range(13):
    index=content[iv[i]-1].index(m[i])
    vvv.append(index)
print(vvv)

for i in range(0,26):
    flag=""
    for j in range(13):
        flag += content[iv[j]-1][(vvv[j]+i)%26]
    print(flag.lower())

运行脚本
在这里插入图片描述
脚本使用起来很方便,以后还是得多练习写脚本的能力


8. 大白

在这里插入图片描述
下载附件
在这里插入图片描述
发现图片不完整,应该进行了隐写
用winhex打开图片,第二行前四位为宽,后四位为高
在这里插入图片描述
图片不完整,我们修改高度将 00 00 01 00改为00 00 02 00
在这里插入图片描述
保存后,打开图片
在这里插入图片描述

9. simple_js

题目
在这里插入图片描述
打开网址后,看到了一个提示框
在这里插入图片描述
输入密码后提示为假密码在这里插入图片描述
不知道是什么意思,查看源码后看到了一串字符串
在这里插入图片描述

\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30

发现这串字符串一直出现\x,与url编码中的%,于是将\x全部转化为%

%35%35%2c%35%36%2c%35%34%2c%37%39%2c%31%31%35%2c%36%39%2c%31%31%34%2c%31%31%36%2c%31%30%37%2c%34%39%2c%35%30

url解码可得ascll码
在这里插入图片描述
将ascll码转化为字符,即为flag
在这里插入图片描述

posted @ 2020-08-12 10:27  atkx  阅读(158)  评论(0编辑  收藏  举报