题记"/>
CTF题记
1. backup
访问网址
这道题目主要考察是否清楚index.php备份文件的文件名格式
一般备份文件的格式后缀为.bak
因此访问url+/index.php.bak
即可,访问后会自动下载一个文件,打开该文件,即可得到flag
有关备份文件
很多开发人员在编辑文件前,都会先进行一次备份,同时会把备份文件和源文件放在服务器上的同一个地方。这样的话,如果存在绕过身份验证,就可以直接下载到这个备份文件,从而得到网站源代码。
有关备份文件的可以利用的情况主要有3种:
代码编辑器产生的备份文件
没有删除版本控制系统(VCS)产生的备份文件
没有删除开发人员手动备份的文件
常见备份文件的后缀
.rar
.zip
.7z
.tar.gz
.bak
.swp
.txt
.html
linux中可能以" ~ " 结尾
2. cookie
访问网址
F12,点击控制台上的Application,查看Cookies下的网址
看到有个cookie.php,我们打开一下
根据提示查看http响应,继续F12,点击控制台上面的Network,然后ctrl+r
点击cookie.php,在Response Headers下可以发现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
10. Broadcast
题目描述:粗心的Alice在制作密码的时候,把明文留下来,聪明的你能快速找出来吗?
下载附件,得到一个压缩包,解压后得到一堆文件
题目说 在制作密码的时候,把明文留下来
,说不定密码可能在python脚本里面
打开task.py文件,发现了flag
11. pure_color
下载附件,是一张图片,打开后发现一片空白
题目名字与颜色有关,用StegSolve打开
进行异或,得到flag
更多推荐
CTF题记
发布评论