unctf2020部分简单题题解J1ay

用010editor打开查看,发现最后含有一个B站网址

flag:

下载得到一个pdf,里面文字全是(阴阳怪气)。仔细查看,阴阳怪气也就分为三种:

就这.不会吧!就这

结合题目中给出的编码,很容易想到Ook!编码

于是,将就这.替换为.

不会吧!替换为!

就这替换为?

得到如下:

得到

这个附件有点大啊,下载得到一个游戏,(杀死耗子得经验做任务的“窒息”游戏)

解压一看

发现www的文件夹,直接点进去看,(众所周知,主要的资源全在这个文件夹里头)

index.html根网页,点进去出一个error很真实,环境没搭建怎么出东西

但这里提示我们这个data文件夹很重要

点击进入,发现一堆json文件,一开始一系列的map00x.json引人注意,点进去查看,好像是每一关的任务,但是flag均没有出现。后来,终于在Items.json这个文件里面找到flag包括之前的fakeflag也在里面。

进入一个网页,ctrl+u查看网页源码

Get10pointstogetflag
Yourpoint:

也就是说最直观的方法,就是读取验证码得到十分,获取flag。

于是,介于验证码比较难认,将其图片保存,用stegesolve换个通道进行查看。

【注意】大小写要区分!!!

【一步错全盘皆输】得到

下载得到一个excel。用010editor查看504B0304修改后缀名zip发现基本上都是xml文件。放在idea中进行查看,

最后在sharedDtrings.xml发现怪异之处。

dW5jdGYlN0I3MzgzYjY3ZGU5MTA2YTZmMTBmZGJlNGU4ZWJjNjRjZSU3RA==解密得到

flag

下载附件,得到一段拨号音音频,一个txt情景步骤导入,和一个有密码的压缩包。

636806841748368750477720528895492611039728818913495104112781919263174040060359776171712496606031373211949881779178924464798852002228370294736546700438210687486178492208471812570216381077341015321904079977773352308159585335376746026882907466893864815887274158732965185737372992697108862362061582646638841733361046086053127284900532658885220569350253383469047741742686730128763680253048883638446528421760929131783980278391556912893405214464624884824555647881352300550360161429758833657243131238478311219915449171358359616665570429230738621272988581871txt中已经很清楚的告诉我们,必须要解开压缩包,才能搞清楚这串数字的含义。

靠人耳辨别是什么号码,(对我来说)简直白日做梦。

直接上工具:dtmf2num.exe

下载好后,对此执行命令:

dtmf2num.exe拨号音.wav直接出来了:

DTMF2NUM0.1.1byLuigiAuriemmae-mail:aluigi@autistici.orgweb:aluigi.org-open拨号音.wavwavesize35200formattag1channels:1samples/sec:8000avg/bytes/sec:16000blockalign:2bits:16samples:17600biasadjust:-3volumepeaks:-2947129471normalize:3296-MFnumbers:74-DTMFnumbers:15975384265得到压缩包密码为:15975384265解压后,又得到一段音频和一个txt。

通过txt,我们知道,在音频中蕴含着一个极大的线索,用于破解那串数字。

用audacity音频文件打开,查看波形,没发现啥。

于是切到频谱图,发现一个关键词tupper

一开始还不知道是啥意思,于是直接百度tupper经过多番搜索,终于找到了Tupper自我指涉公式造图

于是上脚本:(其实)那串神秘数字就是k

远处观看效果更佳哦!!

得到flag

下载附件,得到一个flag文件。

未知格式,直接用010editor打开,ctrl+f一搜unctf,flag就出了。

附件下载得到一个shadow文件。

解压后,进入run目录。并把执行命令

下载附件,拿到mouse_click.pcapng很显然,USB流量分析。

USB协议鼠标数据部分在LeftoverCaptureData域中,数据长度为四个字节。

第一个字节代表按键:

如0x00时,代表没有按键、0x01时,代表左键,0x02时,代表当前按键为右键。

第二个字节代表鼠标水平偏移量:

值为正时,代表鼠标水平右移多少像素,为负时,代表水平左移多少像素。

第三个字节与第二字节类似,代表垂直上下移动的偏移。

tshark-rmouse_click.pcapng-Tfields-eusb.capdata>data.txttshark-rmouse_click.pcapng-Tfields-eusb.capdata|sed'/^\s*$/d'>data.txt#提取并去除空行得到如下图data.txt文件

一般提取会有冒号格式为xx:xx:xx:xx

于是运行脚本maohao.py

f=open('data.txt','r')fi=open('out.txt','w')while1:a=f.readline().strip()ifa:iflen(a)==8:#鼠标流量的话len改为8,键盘为16out=''foriinrange(0,len(a),2):ifi+2!=len(a):out+=a[i]+a[i+1]+":"else:out+=a[i]+a[i+1]fi.write(out)fi.write('\n')else:breakfi.close()pythonmaohao.py3、鼠标流量转换为坐标再将所得到的鼠标流量转换为xy坐标,运行脚本mouse.py如下

nums=[]keys=open('out.txt','r')f=open('xy.txt','w')posx=0posy=0forlineinkeys:iflen(line)!=12:continuex=int(line[3:5],16)y=int(line[6:8],16)ifx>127:x-=256ify>127:y-=256posx+=xposy+=ybtn_flag=int(line[0:2],16)#1forleft,2forright,0fornothingifbtn_flag==1:f.write(str(posx))f.write('')f.write(str(posy))f.write('\n')f.close()pythonmouse.py得到:

运行gnuplot.exe将图像绘制出来

gnuplot>plot"xy.txt"gnuplot>最后得到:

很显然,图像反了。对其垂直翻转一下,flag就出了

下载得到一张二维码,只不过不全。

众所周知,一张二维码有三个定位符,补全右上角那个,即可出flag

且记,扫的时候,将二维码大小稍微调小一点。

下载附件得到一个倒影.exe用010editor打开,发现FFD8FFE0的文件头,显然这是一张jpg。

往后拉,发现最后有一串base64编码字符串。

得到一串十六进制字符串

0000000000B4000000A500100010000000006050B405106D6A9EA24E5767106D7AD58AC22940106D7AD58AC229400081001000000000000200A0478747E27616C666000000000000000200000000000000420080000000910000005297D4535E1555E5C90000801000A000F32010B405B4ECC7E9889EDF1BA30C6FF71836EBCFE9A735EFD6E501CE14109505827764B69DC37C6E2E478747E27616C66600000080000000910000005297D4535E1555E5C90000801000A04030B405shift+v复制进010editor。

注意:4030B405反一下就是504B0304说明,要把得到的十六进制字符串倒序==》倒影的真正含义。

附java脚本:

publicclassMain{ publicstaticvoidmain(String[]args){ Scannerin=newScanner(System.in); Strings=in.nextLine(); Stringstr[]=s.split(""); for(inti=str.length-1;i>=0;--i){ System.out.print(str[i]); } }}得到:

504B03040A00010800009C5E5551E5354D79250000001900000008000000666C61672E747874E2E6C73CD96B46772850590141EC105E6DFE537A9EFCBE63817FF6C03AB1FDE9889E7CCE4B504B01023F000A00010800009C5E5551E5354D792500000019000000080024000000000000002000000000000000666C61672E7478740A002000000000000100180004922CA85DA7D60104922CA85DA7D6017675E42AE9A6D601504B050600000000010001005A0000004B0000000000修改后缀名zip。得到一个加密的压缩包。

但没有其他提示,直接暴力破解一下

得到密码:658745

解压得到flag

下载得到225张杂乱无章的jpg图。解法很简单,就是将这图拼起来即可。

1、montage命令

(kaliLinux)安装命令:

apt-getinstallgraphicsmagick-imagemagick-compat进入解压后的文件夹目录下,执行命令

montage*.jpg-tile15x15-geometry+0+01.jpg得到:

pip3installnumpypip3installopencv-pythonpip3installmatplotlibpip3installpytestpip3installpillow安装完成后,打开requirements.txt修改里面库对应的版本。

此为版本号,比如我是:

numpy==1.18.4opencv-python==4.4.0.46matplotlib==3.2.2pytest==4.6.11pillow==6.2.1再执行以下命令。

pip3install-rrequirements.txtsudoapt-getinstallpython-tkpip3install-e.安装完成后,将之前合成的1.jpg拖到gaps-master该目录下,执行以下命令:

【注意】一定要控制pieces等于图的总张数

最后得到

flag即为:

下载得到rsa加密脚本,比较简单:

下载得到一个txt

e=18437613570247445737704630776150775735509244525633303532921813122997549954741828855898842356900537746647414676272022397989161180996467240795661928117273837666615415153571959258847829528131519423486261757569454011940318849589730152031528323576997801788206457548531802663834418381061551227544937412734776581781n=147282573611984580384965727976839351356009465616053475428039851794553880833177877211323318130843267847303264730088424552657129314295117614222630326581943132950689147833674506592824134135054877394753008169629583742916853056999371985307138775298080986801742942833212727949277517691311315098722536282119888605701c=140896698267670480175739817539898638657099087197096836734243016824204113452987617610944986742919793506024892638851339015015706164412994514598564989374037762836439262224649359411190187875207060663509777017529293145434535056275850555331099130633232844054767057175076598741233988533181035871238444008366306956934显然,这e非常大。马上想到是rsawiener-attack。于是修改脚本如下:

得到d:

74651354506339782898861455541319178061583554604980363549301373281141419821253有c、e、d、n接下来,有手就行,直接上脚本!

显然题干给出的是一种未知编码的字符串

ottttootoootooooottoootooottotootttootooottotttooootttototoottooootoooottotoottottooooooooottotootto先来看一下,里面就涉及两种字母,很容易让人想到二进制,尝试转字符串,失败。

先将o替换为A,t替换为B。

先考虑有没有壳。用PEID一查无。安心拖入IDA

先shift+f12查看字符串。

发现success敏感词,进行追踪,来到函数sub_401550()按F5

__int64sub_401550(){charStr1;//[sp+20h][bp-60h]@1sub_40B300();puts("Welcome!PleaseInput:");sub_419C00("%1000s",&Str1);if(!strcmp(&Str1,&Str2))puts("success!");elseputs("fail!");system("pause");return0i64;}很快发现,strcmp是Str1与Str2对比,因为Str1输入,于是追踪Str2

发现在sub_4015DC函数,进行查看

得到了一个.exe和一个txt

txt如下:

313131303130313031313031313130303131303030313130313131303130303031313030313130303131313130313130313031303130303031313031303030303130303030303030313131303130303031303131313131303131303130303130313131303031313031303131313131303131313030313030313130303130313031313030303031303031313030303130303131303030313031313131303031303130313131313130313130303031313030313130303030303031313030303030303131303030313031313131313031首先对babypy.exe进行壳检查,发现无壳。

这个时候,我们需要对exe进行反编译为python源码。

执行命令:

注意到babypy重点源文件,但是由于反编译不是十全十美的,他丧失了文件头,因此没有后缀.pyc于是,打开一个本身的pyc,查看文件头

420D0D0A00000000

于是给他补上:

其实是忘记了,出题方给的重要讯息!那个tip.txt

于是,解题脚本如下:

importlibnumm=0x313131303130313031313031313130303131303030313130313131303130303031313030313130303131313130313130313031303130303031313031303030303130303030303030313131303130303031303131313131303131303130303130313131303031313031303131313131303131313030313030313130303130313031313030303031303031313030303130303131303030313031313131303031303130313131313130313130303031313030313130303030303031313030303030303131303030313031313131313031str=libnum.n2s(m)print(libnum.b2s(str))跑出flag:

下载得到一个run.exe加之题目“反编译”,与上题一样的思路。

THE END
1.猫猫按键可爱,直播推荐,b站MM大佬做!标题中的“猫猫按键”可能是指一种特定的软件或应用,它可能是一个虚拟键盘程序,设计得非常可爱,带有猫猫的主题元素。这种程序通常会为用户在屏幕上提供一个有趣的键盘界面,按键按下时可能会有猫咪相关的动画效果,增加了用户在打字或操作电脑时的趣味性。"直播推荐"暗示了这款猫猫按键软件可能被直播主广泛使用,特别...https://download.csdn.net/download/Pan_peter/84991704
2.冰糖京华、猫猫联动,观看其四人的配音作品《京哥不要》[16]梦幻直播。京哥不要啦!联动帕里数闭麦,其实是被五音布全的君は蔷薇より美しい所洗脑被冰糖查房后重新加入了B站鬼畜鉴赏聊天互动。 3月28日,举行万粉暨50万岁生日新春结婚纪念直播,展示了来自各个国家各个分区的vtb、vup和UP主(共57位)发来的祝贺视频...https://zh.moegirl.org/BT%E9%85%B1
3.少年Pi专楼NGA玩家社区'Hello,观众朋友们大家好。这次给大家带来……'这https://bbs.nga.cn/read.php?tid=37339125