CTF题记

编程入门 行业动态 更新时间:2024-10-09 10:23:30

CTF<a href=https://www.elefans.com/category/jswz/34/1767428.html style=题记"/>

CTF题记

1. backup


访问网址

这道题目主要考察是否清楚index.php备份文件的文件名格式
一般备份文件的格式后缀为.bak

因此访问url+/index.php.bak即可,访问后会自动下载一个文件,打开该文件,即可得到flag

有关备份文件

很多开发人员在编辑文件前,都会先进行一次备份,同时会把备份文件和源文件放在服务器上的同一个地方。这样的话,如果存在绕过身份验证,就可以直接下载到这个备份文件,从而得到网站源代码。

有关备份文件的可以利用的情况主要有3种:

  1. 代码编辑器产生的备份文件

  2. 没有删除版本控制系统(VCS)产生的备份文件

  3. 没有删除开发人员手动备份的文件

常见备份文件的后缀

.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题记

本文发布于:2024-02-07 00:27:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1751791.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:题记   CTF

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!