SUSTEAM CTF WRITEUP

签到题

来熟悉一下提交Flag的流程吧,flag隐藏在下面的字符串中:ZmxhZ3tjaGVja18xbn0=

Base64解密之,得到flag:

flag{check_1n}

大海捞针

小黑发现南京市雨花台区龙西路10号住着一位叫龚宇亿的妹子,你能帮小黑找到她的身份证号么?

利用开房数据库和住址信息,查到了这个叫龚宇亿妹子的身份证号,暨flag:

《SUSTEAM CTF WRITEUP》

源码中的乾坤

小黑发现了一个神奇页面,以他多年的经验来看,其中必有乾坤。7a252ca47a8e691880dee2fd99092e53.susteam.org

查看源码,可以看到flag is here<!–f6Yo34gH–> 然后在notice中可以看到提示说。flag is后都是。。,所以flag是:

here<!–f6Yo34gH–>

Flag你在哪里?

Flag被藏到哪里了呢?快点帮小黑找找吧 124a6e61a24d9c5baf027b35510106a9.susteam.org

抓包,在http header中发现flag:

《SUSTEAM CTF WRITEUP》

纯色

Attach:20150511215741.zip

猜猜里面有什么?

下载下来之后发现是个图片,用神器Stegsolve.jar打开,切换到red通道,flag就出来了:

《SUSTEAM CTF WRITEUP》

Fate!!!

Attach:20150511215941.zip

这是一张图片吗?不!这不止是一张图片!里面隐藏了一句电影的经典台词,告诉我,它是什么(要英文原版哦~)

本题Flag格式为: flag{英文台词内容} 

用Stegsolve.jar打开图片,发现中间有段不正常的数据,然后一开始有PK的文件头,从PK到最后把数据提取出来保存成zip文件,然后解压打开黑客帝国的截图,

《SUSTEAM CTF WRITEUP》

台词的地方被打了码,用百度识图搜索了一下发现原来的图片:

《SUSTEAM CTF WRITEUP》

然后按正常英文书写方式提交台词,过关。

神奇的数字13

 Attach:20150511213312.zip

据说老外很喜欢13这个数字。

本题Flag形式为: flag:{可见字符} 

打开之后发现是一堆字符串,提示是13,那么应该是rot13加密,解密之后发现是

《SUSTEAM CTF WRITEUP》

Base64编码后的png图片,直接放到浏览器上回车得到图片:

《SUSTEAM CTF WRITEUP》

困在栅栏中的凯撒

小黑发现了一段神奇的字符:a\vEnZZpZ)ZgbZpo/ai++x

根据题目可以看出是凯撒加密和栅栏加密,由于这两种算法都是可逆的,所以不存在先后顺序问题,第一个字符应该是从flag的f变成了a,那么所有的字符都减小了5,然后再用

for in range(x):
print s[i::x]

对x进行枚举,得到flag:

flag{_Just_4_fun_0.0_}

盲人摸象

打开之后发现是个二位码,用微信扫一扫,发现是张图片:

《SUSTEAM CTF WRITEUP》

然后图片的名称是类似百度云分享链接上的字符串,那么图片中这四个应该就是提取码了。根据题目是盲人摸象,那么应该是盲文,根据盲文进行解密得到提取码下载分享的文件:

是一段音频,打开听之后是滴滴答答发电报的声音,用音频分析软件打开,记录下音频信息,然后用莫尔斯码解密:最终得到flag:

flag is l0ve5u5

十万火急

Attach:20150511215132.zip

小黑拿到了一个神秘的文件,这其中究竟隐藏着什么呢??

解压之后发现是个pyc文件,找个在线python反编译网页进行反编译:http://tool.lu/pyc/

得到python源码:

if __name__ == '__main__':
    baseString = '1dnckajf'
    baseLen = len(baseString)
    flag = [87,8,15,4,16,4,94,21,72,59,60,6,29,4,24,21,84,59,95,13,52,17,19,5,76]
    pwd = raw_input('Password:')
    wrongFlag = False
    for in range(len(pwd)):
        if flag[i] != ord(pwd[i]) ^ ord(baseString[(i % baseLen)]):
            wrongFlag = True
            break
    if wrongFlag:
        print 'Wrong!'
    else:
        print 'Good, password is the flag.'

发现用字符串和basetring进行异或进行加密,简单改下代码异或之后输出字符串即可,得到flag:

《SUSTEAM CTF WRITEUP》

Hello World

Attach:20150511222027.zip

据说是安卓中的 Hello World

下载是个apk文件,下载之后用apktool反编译成jar文件打开,发现与flag有关的函数在g这个类中:

private int[] a = { 83, 84, 81, 120, 69, 107, 98, 85, 103, 56, 110, 84, 101, 126, 81, 93, 117, 112, 126, 127, 109, 74, 81, 120, 119, 125, 103 };
  public List a(List paramList)
  {
    ArrayList localArrayList = new ArrayList();
    for (int i = 0; i < paramList.size(); i++)
      localArrayList.add(Integer.valueOf(i ^ ((Integer)paramList.get(i)).intValue()));
    return localArrayList;
  }
  public boolean b(List paramList)
  {
    if (paramList.size() != this.a.length)
      return false;
    List localList = a(paramList);
    for (int i = 0; ; i++)
    {
      if (i >= this.a.length)
        break label62;
      if ((this.a[i] ^ ((Integer)localList.get(i)).intValue()) != 0)
        break;
    }
    label62: return true;
  }

代码很简单,用a每个字符串和位进行异或就能得到flag:

《SUSTEAM CTF WRITEUP》

bright?

你想知道bright每天深夜回去干吗嘛~答案就在下面的字符串里~~

I0B+XkdnRUFBQT09QCNAJiFheSYsITZXISxUNkYrfiFYKm5+WjZjUn4hWEdHLFRhYzhQWjYqRn5UWGNxUFphYzhQVGEyTlBUYTJOfiFYKlpQVFggMlAhWGNafiFYIH9QWjZmVCwhNkZmUFo2djl+VDYrMCwhYSpUflo2ZmMsVDZXY35UWHYgflRYdldQWmEyY35aNlcwUFo2RjhQWjZ/ICwhYSs2UCFYf04sITZXf34hWCptUFQ2WH8sIWF2OX4hWEdmflo2Yzh+WjYqdixUWCYwLCFYYyEsIVgrJiwhYWNaUFRheXZQWmFjbFAhWH97UFo2KzR+IWEqOFBUNldxUFo2KnEsITZmWywhYSY5flo2WH9QWjYgMlBaYUd/UFQ2VyFAI0AmM2tRQUFBPT1eI35A

首先base64解密:

#@~^GgEAAA==@#@&!ay&,!6W!,T6F+~!X*n~Z6cR~!XGG,Tac8PZ6*F~TXcqPZac8PTa2NPTa2N~!X*ZPTX 2P!XcZ~!X PZ6fT,!6FfPZ6v9~T6+0,!a*T~Z6fc,T6Wc~TXv ~TXvWPZa2c~Z6W0PZ6F8PZ6 ,!a+6P!XN,!6W~!X*mPT6X,!av9~!XGf~Z6c8~Z6*v,TX&0,!Xc!,!X+&,!acZPTayvPZaclP!X{PZ6+4~!a*8PT6WqPZ6*q,!6f[,!a&9~Z6XPZ6 2PZaGPT6W!@#@&3kQAAA==^#~@

看到#@~^GgEAAA==想到多年前非常流行的asp大马加密,用asp-decode解密:

0x23 0x40 0x7e 0x5e 0x48 0x77 0x41 0x41 0x41 0x41 0x3d 0x3d 0x40 0x23 0x40 0x26 0x30 0x73 0x6d 0x6f 0x50 0x34 0x44 0x62 0x6f 0x34 0x4f 0x7b 0x62 0x2f 0x6d 0x46 0x5a 0x56 0x6d 0x73 0x4b 0x46 0x38 0x40 0x23 0x40 0x26 0x45 0x67 0x6b 0x41 0x41 0x41 0x3d 0x3d 0x5e 0x23 0x7e 0x40

然后hexàascii:

#@~^HwAAAA==@#@&0smoP4Dbo4O{b/mFZVmsKF8@#@&EgkAAA==^#~@

再asp-decode:

flag{bright_is_10l_lo1}

娱乐~娱乐~

做题那么累,不如咱们来玩会游戏吧!

c7bfc1675666cffc4df9ef77ad57e7cb.susteam.org:25565

据说在沙漠大山的后面,有一座神秘的钻石宫殿!

注:本题Flag为 FLAG{可见字符} 的形式。

看到25565端口,应该是minecraft,下载一个1.7.1版本登陆游戏,发现提示版本错误,服务器版本是1.7.2,于是又下了一个1.7.2版本的mc,进入游戏后根据题目提示,在沙漠大山后面有个钻石宫殿,找到一个钻石迷宫:

《SUSTEAM CTF WRITEUP》

进入迷宫,最后会发现flag:

《SUSTEAM CTF WRITEUP》

得到flag:

FLAG{2348768761574}

Ingres

 Attach:20150511215500.zip

这个游戏好像蛮好玩的~ 不过据说其中隐藏了秘密!
本题Flag形式为:SUS{可见字符}

下载之后发现是个apk,过段反编译,打开之后发现文件目录中有个flag.jpg很可疑,用Stegsolve.jar神器打开,发现里面有三个文件两个jpg图片,还有一个zip文件,用winhex导出,解压打开得到一个字符串:

看了下全是大写字符,最后还有等号,根据之前actf的经验应该是base32加密,果断解密:

《SUSTEAM CTF WRITEUP》

论数学的重要性

 Attach:20150511215620.zip

小黑数学是体育老师教的,你能帮下小黑么~

发现是个exe的文件,用ida打开,找到算法段,f5出了c源码:

…… 
//printf("Password:");
  //scanf("%s", v1002);
  v3 = 0;
  v4 = &v10;
  v5 = &v41;
  while ( 1 )
  {
    v6 = 0;
    v7 = 0;
    do
    {
      v6 += *v5 * v1002[v7++];
      ++v5;
    }
    while ( v7 < 31 );
    if ( v6 != *v4 )
      break;
    ++v3;
    ++v4;
    if ( v3 >= 31 )
    {
      v9 = (int)"\nG00d! password is the flag.\n";
      printf(v9);
    return 0;
    }
  }
  v9 = (int)"\nOops, wrong.\n";
  printf(v9);
}

发现需要解一个32元一次方程组,用matlab写进方程组的信息,直接出来flag:

flag{m4t1ab_1s_4_p0werfu1_t00l}

小黑的烦恼

上级要求小黑立马拿下这个站点,可是小黑被站长的防御给吓住了,完全不知道该从何下手,你能帮帮小黑么?

11c6973fc5bea16559cef8ec05c9b472.susteam.org

打开之后发现是个wordpress的站,一般wordpress的站直接上wpscan扫,扫了之后发现插件都没有洞,但是有之前的wordpress dom xss,写个payload提交评论,然后管理审核后打到cookies,伪造cookies进入后台:

在后台可以查看到这么一片文章:

《SUSTEAM CTF WRITEUP》

利用账号密码:admin hold?fich:bear-palm登入后台

找了一圈发现目录不可写,模板文件都不可写,最后一个wp-content/themes/twentyfifteen/author-bio.php 文件是可写的

写入一句话,用菜刀连接,在服务器/目录下找到flag.txt:

《SUSTEAM CTF WRITEUP》

这里有个小插曲:

用菜刀我发现可以执行命令,过段反弹了一个shell回来,然后发现系统内核是2014年编译的ubuntu14.04.2 LTS,心中一乐,最近ubuntu爆了好几个提权的洞,果不其然,用https://www.exploit-db.com/exploits/36782/ 这个exp提了下来:

《SUSTEAM CTF WRITEUP》

发现是AWS的服务器,都是通过密钥登陆,然后发现.bash_history里面有:

《SUSTEAM CTF WRITEUP》

121那台服务器是其余web题所在的服务器,可是不幸的是管理员把私钥删了,不然就能开挂撸完所有web题了。最后把这题首页挂了一个菊花聊天室。

(小编:这位童鞋这么调皮真的好吗?不过我喜欢!O(∩_∩)O~)

本文转载自 安全盒子
原文链接:http://www.secbox.cn/hacker/ctf/3707.html

点赞