美文网首页
【Writeup】科莱杯第七届山东省大学生网络安全技能大赛选拔赛

【Writeup】科莱杯第七届山东省大学生网络安全技能大赛选拔赛

作者: 木爽2015 | 来源:发表于2018-09-15 10:25 被阅读0次
    科莱杯

    MISC

    签到题 5pt

    关注大赛微信公众号,发送:科来杯选拔赛,你就能得到flag啦...

    backdoor 15pt

    黑客在服务器上种了个后门,从服务器上偷取了重要文件,找到那个文件。
    通过分析,我们能发现黑客上传了一个zip文件,内容如下:

    25号请求
    通过分析代码可以知道黑客把这一串数据上传到服务器上并保存为reverseshell.zip
    稍微改一下代码然后在本机的php环境中执行
    <?php 
        $c='504B03041400000************0500000000';//省略
        $c=str_replace("\r","",$c);
        $c=str_replace("\n","",$c);
        $buf="";
        for($i=0;$i<strlen($c);$i+=2)
        $buf.=urldecode('%'.substr($c,$i,2));
            print_r($buf);
        file_put_contents("1.zip", $buf);//保存文件
    

    然后打开web目录下的1.zip文件,里面只有一张二维码图片(左下角我就当没看见好了)


    二维码

    流量包分析 15pt

    找到特殊的脚本文件,你就能得到flag
    重点分析POST shell.php的几个请求


    14299号请求
    对应的响应信息

    执行一下这段代码,输出结果如下:


    结果

    Mobile

    babyApk 15pt

    又又又又是Login......
    使用jadx-gui反编译apk文件,在MainActivity的onCreate方法中找到密文和解密算法,复制出来编译执行一下即可得到flag。


    密文和解密算法

    Web

    有趣的PHP与JS 20pt

    闯关开始...
    http://47.105.128.100:2333/
    打开网站,查看源代码,在http请求头中伪装一下IP即可


    网站首页源代码

    与客户IP有关的请求行:

    x-forwarded-for
    x-remote-IP
    x-originating-IP
    x-remote-ip
    x-remote-addr
    x-client-ip
    x-client-IP
    X-Real-ip
    
    构造HTTP请求

    懒得挨个测试了,都复制进去了。


    返回结果

    根据返回结果,访问另一个url


    要求使用Mac OSX 99
    修改User-Agent即可
    Mozilla/5.0 (Macintosh; Intel Mac OS X 99) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A
    
    返回结果

    没毛病,果然还有第二关


    这应该是第二关吧

    很简单,利用两个字符串的MD5都是0e****开头就好了,php会认为这是科学记数法表示的数值。
    提供几组md5

    240610708 0e462097431906509019562988736854
    314282422 0e990995504821699494520356953734
    571579406 0e972379832854295224118025748221
    903251147 0e174510503823932942361353209384
    1110242161 0e435874558488625891324861198103
    1320830526 0e912095958985483346995414060832
    
    第三关

    仔细看和第二关的区别
    如果给md5函数传一个对象的话会返回null,所以我们可以传两个不一样的数组对象过去

    http://47.105.128.100:2333/********.php?a[]=1&b[]=2
    
    第四关
    第四关

    后面的6位字符每次刷新都会变化,爆破代码如下:

    import hashlib, sys
    
    for i in range(1, 10000000):
        s = str(i)
        hl = hashlib.md5()
        hl.update(s.encode(encoding='utf-8'))
        de = hl.hexdigest()
        print('MD5加密前为 :' + s)
        print('MD5加密后为 :' + de)
        if de[:6] == '3b01a4':
            sys.exit()
    
    爆破成功 最后一关

    查看源代码,找到pin码


    PIN码

    Reverse

    re-elf 10pt

    Give me something interesting

    相关文章

      网友评论

          本文标题:【Writeup】科莱杯第七届山东省大学生网络安全技能大赛选拔赛

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