web: 签到:,更改学号,找规律,用笔记本记录出现的数据。 我太喜欢哔哩哔哩大学啦--中北大学:就往下面翻找flag,就会看见一个flag的语句,这个就是答案。 ezgame-浙江师范大学:这个就是一个简单的卡牌游戏,直接玩通关就可以。 pwn: welcomeUNCTF2022-云南警官学院:用file命令查看附件格式,可知道这是32位文件,用32位的ida打开,进行静态分析,pwn的题目的基本思路,首先看main函数,然后进行f5反编译,看c语言伪代码,发现这main函数就只有一个func函数的调用,就没有其他东西了,然后我们点进func函数看看, 发现func函数里面调用了strcpy()函数,百度了一下,知道了strcpy()函数是初始化函数,是将后面的字符初始化给s2,就相当于s2=后面的字符。然后看见gets函数,由于看见gets函数容易上头我就点进去看了一下,然后发现gets函数并没有什么后门,我有去看了一下是不是需要栈迁移,然后发现根本没用,我就在怀疑是不是这个题不需要溢出,gets函数只是单纯的输入,然后我又看见了if,发现if里有个system函数,我就懂了,原来他是只要符合if,直接就进入后门。看了一下i判断,发现里面有个strcmp()函数,我又百度了一下,知道了strcmp()函数是比较异或,相同时返回0,小于时返回值小于0,大于时大于0,然后看见if判断里面有!,原来是判断是否存在,这里科普一下,0相当于不存在,所以就直接输入s2的值就可以直接出flag了。 石头剪刀布-西华大学:用file命令查看附件格式,可知道这是64位文件,用64位ida打开,静态分析,,看见if要判断v4是不是等于121,发现scanf,知道了v4是我们输入的值,又看见%c,知道了要输入的是字符,然后查了一下ascll表知道了121是y,往下看,又看到了playgame函数,点进去,看见了rand,结合main函数的srand函数,可知这题是考的伪随机数,seed为10,又看了一下题目,还有一个for循环由此可知,是要我们写脚本,胜利100把,接下来就好办了,但是还要注意,我们用file命令发现这是一个elf文件,所以要注意windows和linux产生的伪随机数是不同的,要用linux系统运行脚本,,,得到随机数,接下来看ida,发现if,这就是规则,由此我们得知0胜1,1胜2,2胜0,由这可以写脚本, #include<stdio.h> #include<stdlib.h> int main() { int a; srand(10); for (int i = 0; i < 100; i++) { scanf("%d", &a); switch (a) { case 1:printf(" 0"); break; case 2:printf(" 1"); break; case 0:printf(" 2"); break; } } putchar('\n'); return 0; } 运行,获得胜利数据,直接在靶机输入即可获得flag,此题无溢。 Reverse: whereisyourkey-广东海洋大学:用file命令查看附件格式,可知道这是32位elf文件,用32位ida打开,f5,发现v5数组输入了字符是ascll值的转换一下vgpkcmhnci,看见printf里面有flag{%s},s,由此可知s数组的字符就是我们要的flag,发现if里有strlen函数,百度了一下,知道是计算字符个数,由此可知是要我们输入十个字符,又发现for循环里有一步计算oooo函数,点进去看看,发现了一步计算,将v5的字符的ascll带进去计算一下得到flag。 ezzzzre-广东海洋大学:打开软件发现要我们输入key,随便输个值,发现会直接关闭,这步就直接忽略,我们先用exeinfope查看一下,发现是64位的pe文件,且加了upx的壳,我们用kali的upx解一下壳,upx -d ezzzzre.exe 用ida打开,f5查看一下伪代码,发现scanf语句,有%s,代表要我们输入一串字符,要我们输入8个字符,看见if语句,有个helloctf[]数组点进去,发现了数组的字符,HELLOCTF,用ascll转换一下通过if语句的计算,获得flag。 Crypto: md5-1-西南科技大学:在网上找一个md5解码的网站,一句一句的转换,获得flag。 dddd-西南科技大学:摩斯电码,1是. 0是- /是空格 caesar-西南科技大学:去网上找base64的表,结合凯撒密码的特点(偏移字符),偏移量为19,进行转换,即可获得flag。 Misc: magic_word-西南科技大学:打开文件发现是一种乱码字体,转换一下字体然后复制,https://www.mzy0.com/ctftools/zerowidth1/,进行解密。 社什么社-湖南警察学院:打开压缩包发现是一个txt文件打开发现是一堆#,缩小后发现是一张图片,然后去看了一下出题人的位置是在湖南,就搜了一下湖南的著名景点,找到了近似相同的图片,地点在凤凰古城,然后MD5转换一下,获得flag 找得到我吗-闽南师范大学:这打开文件,发现弹出来一个wps的广告,头名为flag,半信半疑的输了进去,没想到真是,wpsnb。 syslog-浙江师范大学:打开压缩包,发现里面还有一个压缩包,点进去,发现要密码,然后又看见旁边有句话,代表密码在另一个文件里,用记事本打开看看,发现里面有很多字符,查找一下password,发现了密码,感觉很怪,试了一下,发现密码不对,用base64解码,获得密码,得到flag。 巨鱼-河南理工大学:修改了一下宽高,发现密码无所谓我会出手,然后将图片改成zip,输入密码,发现有个flag文件,提交,发现不对,应该不是这个,还有一个压缩包,打开发现是损坏的修复一下,打开发现里面有一个氯苯的图片和一个ppt文件,百度了一下氯苯,发现根本找不到什么有用的信息,就用软件直接爆破了得到密码666,打开后,得到flag,但是发现最下面有一块白的貌似有字,换一下颜色,发现原来这才是flag,出题人真nb。
标签:发现,函数,字符,一下,unctfWP,flag,打开 From: https://www.cnblogs.com/ckylinhua/p/16904145.html