NewStarCTF 公开赛赛道 第一周学习记录

这是很久之前就搞好了,就是懒得写,因为有些是很简单的,但是也有些是我之前没有接触过的知识,所以想了想还是写吧。本人很菜,pwn不会,密码学会一点点点,misc会一点点,web会一点,re看不懂。。。。 这边学长ak了ak佬wp

CRYPTO

caeser

提示很明显了吧,尤利乌斯吗,不就是凯撒密码吗

NewStarCTF 公开赛赛道 第一周学习记录_第1张图片

吉奥万·巴蒂斯塔·贝拉索先生的密码 

这个看名字就是知道是,维基尼亚密码了

提示你key有三位,直接爆破,key为kfc,爆破维基尼亚

NewStarCTF 公开赛赛道 第一周学习记录_第2张图片

 eazyxor

from os import urandom
from secret import flag
key = urandom(1)

def xor(plaintext, key):
    ret = []
    for i in range(len(plaintext)):
        ret.append(plaintext[i] ^ key[0])
    return bytes(ret)

ciphertext = xor(flag, key)

print(ciphertext.hex())

它给了密文,我们知道这是16进制,他是key与flag进行异或,我们知道这是16进制,可以来获取key

我们知道flag的开头都是这样flag{将f进行ascii加密,与0x9b进行异或就可以获得key

NewStarCTF 公开赛赛道 第一周学习记录_第3张图片

果然经过尝试都是经过异或的,key为253

import binascii
cipher = "9b919c9a8685cd8fa294c8a28c88cc89cea2ce9c878480"
c = binascii.unhexlify(cipher)

key = 253

result = ""
for i in c:
    result += chr(i^key)
print(result)

misc

Yesec no drumsticks 1

给了一张png图片,直接使用zsteg获取flag

NewStarCTF 公开赛赛道 第一周学习记录_第4张图片

qsdz's girlfriend 1

给了一个压缩包,提示他男朋友的生日,生日只算数字的话最多8位最小6位,用ARCHPR爆破,密码为20031201

让我们看看他的男朋友什么样的

NewStarCTF 公开赛赛道 第一周学习记录_第5张图片

 二刺猿呀

放到winhex里面,翻到最底下,给了一串base64解一下

得到提示他的男朋友,名字六位字母,第一位是大写

用百度查一下看看

NewStarCTF 公开赛赛道 第一周学习记录_第6张图片

查一下和这个游戏

NewStarCTF 公开赛赛道 第一周学习记录_第7张图片

六位对吧,找到这个人的图片确实差不多,好了flag就有了

Look my eyes

有个软件就叫沉默的眼睛。。。

NewStarCTF 公开赛赛道 第一周学习记录_第8张图片

解出来这串base64,得到flag

奇怪的音频

使用RX_SSTV就行很简单

EzSnake

得到jar进行运行,还真是贪吃蛇,114分好像也挺简单的是吧,但是他们说经常玩到一半就崩了,那算了吧,还是老老实实干活吧。

 使用jd-gui,将这些保存起来,给一个压缩包,解压到一个文件夹,将META-INF文件夹拿出来,回头有用

NewStarCTF 公开赛赛道 第一周学习记录_第9张图片

来到这,点开GamePane.java

找到114,将他修改为1,突然发现上面出现问号,我知道了是jd-gui的版本问题,这个版本会有问号出现修改好就行

NewStarCTF 公开赛赛道 第一周学习记录_第10张图片

然后保存,将所有java文件编译成class文件,进入cmd到当前文件夹,输入javac ./*.java

NewStarCTF 公开赛赛道 第一周学习记录_第11张图片

 然后回到这里

NewStarCTF 公开赛赛道 第一周学习记录_第12张图片

进入cmd,输入 jar cvfm classes.jar ./META-INF/MANIFEST.MF -C ./e .

classes.jar是你要生成jar文件的文件名

在输入java -jar classes.jar运行这个文件

NewStarCTF 公开赛赛道 第一周学习记录_第13张图片

随便吃一个

NewStarCTF 公开赛赛道 第一周学习记录_第14张图片

他就会弹出0.3秒的二维码,然后跳到这个白框,所以大家要用录屏,帧率开到最高

NewStarCTF 公开赛赛道 第一周学习记录_第15张图片

然后你就会得到这个,把二维码补好就行了

找一个这样的二维码角

使用ps就行。

re

Hello_Reverse

这个打开就给前半段,看看就给后半段,好的很

web

http

先提示get传入name,之后post传入key,key看源代码就有

NewStarCTF 公开赛赛道 第一周学习记录_第16张图片

NewStarCTF 公开赛赛道 第一周学习记录_第17张图片

 提示你不是admin,看看网络拦的包

NewStarCTF 公开赛赛道 第一周学习记录_第18张图片

正常是user=test,这个是我改的

NewStarCTF 公开赛赛道 第一周学习记录_第19张图片

好了这样就可以得到flag了

Head?Header!

提示

NewStarCTF 公开赛赛道 第一周学习记录_第20张图片

 必须要用ctf这个啥,从User Agent里面传入CTF就行

NewStarCTF 公开赛赛道 第一周学习记录_第21张图片

必须是ctf.com浏览器访问

Referer传入ctf.com就行

NewStarCTF 公开赛赛道 第一周学习记录_第22张图片

必须本地用户访问才行,本地用户就是127.0.0.1呗

传入X-Forwarded-For: 127.0.0.1就行

获得flag,收工

我真的会谢

提示你flag,在三个文件里面,三个敏感文件,我们猜一下,三个文件很好猜,不用扫

第一个robots.txt

第二个.index.php.swp ,这个我们可以放到kali中,用vim -r恢复

第三个www.zip好了结束

NotPHP

 分析一下,data这个已经提示了,可以使用data伪协议或者php那个协议,第二个key是三个等号直接使用数组就行,num是直接加一个a就行,就cmd有点麻烦

payload:
get传 ?data=data://text/plain,Welcome to CTF&key1[]=1&key2[]=2&cmd=?>&%a0=cat /flag
post传 num=2077a

Word-For-You

这个最简单了,使用1' or 1=1#,在查询页面直接就可以获得flag

你可能感兴趣的:(CTF,学习,php,经验分享,其他)