海啸杯部分题WriteUp

密码学

1.凯撒将军

本题主要考察了对简单唯一密码的理解。由题目所给出的凯撒大帝,可以联想到凯撒密码,又提示了offset=3(消除3),应该密文就是这段字符往后位移3位就可以得出。但是和一般的凯撒密码不同,传统的凯撒密码是只有英文字母所组成,但是这个是由数字+字母+符号所组成,当时忘记了凯撒密码的概念,导致这道题卡了一下....就是解题不需要对26取余,直接对于字符-3即可得到答案。

#include<stdio.h>
#include<string.h>
int main()
{
    char a[] = "]p{k]6wmfqozgJ<id[QidKkl[6Qy[5YEf6nziT@@";
    for (int i = 0; i < strlen(a); i++)
        a[i] = a[i] - 3;
    puts(a);
}

得出结果如下:


image.png

可以明显看出得出的密文并不是flag,但是在最后有两个明显的等于号,猜测为base64编码(这个编码好像在题目中挺常见的),随便搜一个在线base64解密即可得出答案:


image.png

2.小明家的小菜园

题目是小明家菜园要建栅栏,请教女神,却只得到了一段字符,猜测可能为栅栏密码。找一个在线栅栏解密,之后解密就行,这道题中是以7个字符作为一个分组。想了解更多栅栏密码可以自己百度找找。


image.png

3.战报

下载文件之后会有一段明文和一段密文:


image.png

分析
考点为密码的统计分析,即通过统计密文中每个字符出现的频率与统计明文中每个字符的出现频率进行对比,相近或相同即为密文字符所对应的解密字符。
统计得出如下结果:

密文:
image.png

明文:
image.png

通过对比就可以得出密文中字符所对应的明文中的字符,最后得出flag为 eantosi

杂项

感觉杂项考察的内容有点分散,但有些又会比较考脑洞,所到底还是知识面有点狭隘....还是得多参加比赛和多做题。

1.签到题

说真,虽然是签到题,但是毫无头绪......最后是问了下别人和自己查一下才找到答案。考差了图片的base64编码格式。
参考如下:这是一个链接
可以看出图片的base64编码的格式如下:

image.png

对比flag.txt文件中的格式,可能是图片转成的Base64编码。
找一个在线转码:
image.png

2.老烟枪

打开压缩包发现是王源抽烟的照片:
image.png

不难联想到可能存在图片内文件包含,直接拖kali:


image.png

用 binwalk -e +图片名字.格式即可提取出内在文件:
image.png

里面就有flag。

3.表白

看了题解发现好像还有还要修改压缩包软解密.....但是我直接就打开了这个压缩包....该题是在桂铅师兄的帮助下了解的。打开图片发现:

image.png

完全没做过该类型的题,根据以往的经验,只能去kali看看有没有隐藏了什么,结果发现:
image.png

....没有头脑.... 后来了解到,linux中会对图片的crc码进行校对,这个图片被修改过宽度,导致它的crc码可能就会出问题,导致无法打开。
用010编辑器打开这个图片
image.png

发现文件头是没问题的(不然也打开不了),之后找到决定图片高度的0016-0019h,修改AD的值为FA,即可得出flag:
image.png

image.png

对于文件头的16进制,图片文件格式的解析参考如下:
常见文件的文件头(16进制)
常见图片文件格式简析

Web

1.GZMTU学生?

点进去只有这个界面:


image.png

可能是需要识别特定IP才会认为你是GHMTU学生。想起XFF注入,用BurpSuite抓包,构造XFF头:


image.png

Reverse

1.Easy reverse

本题需要一个工具:IDA,在52破解里面就有,可自行下载。
用工具打开之后F5:


image.png

进去程序的入口,一般是main函数看看:


image.png

函数的主要意思是:有3个字符串变量v1,v2,v3,输入v3的值后经过一个函数的处理后赋值给v1,v0是在地址0ff_425A30的一个值(已经写好了)。之后通过对比v1和v0的值,输出特定的字符串。先进去看看v0的值:
image.png

kanlxvdzTljyTfyTeuor

在没有输入对这个值的时候就会返回错误,否则返回正确。
查看处理v3的函数:


image.png

算法为将传入的字符串与0xC进行异或再+1,那么根据这个思路逆过来,就是需要将v0字符串-1再与0xC异或就可以得到输出的字符串了。
代码:
#include<stdio.h>
#include<string.h>
int main()
{
    char a[] = "kanlxvdzTljyTfyTeuor";
    char b[50];
    for (int i = 0; i < strlen(a); i++)
        b[i] = (a[i] - 1) ^ 0xC;
    puts(b);
}

即可得出flag:
image.png

能解的题就这么多了....感觉面对很多题都感觉很陌生,可以说完全没有接触过,包括这些逆向工具的应用....在赛后解析的时候,看到有道题是Cookie注入,完全想不到.....我之前是没接触过,而且对于php并没有怎么学习,所以对于看代码并没有那么好的效果,总之感觉又见到与学到了很多新东西....还是得多比赛和多做题呀.....

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354

推荐阅读更多精彩内容