美文网首页
2019-03-14 HGAME 2019 Writeup(部分

2019-03-14 HGAME 2019 Writeup(部分

作者: NoelleMu | 来源:发表于2019-03-14 10:42 被阅读0次

    HGAME 2019是我参加的第一个正式的比赛,最后拿了73名,我还是太菜了啊……
    这是一部分Writeup,还没全写完平台就关了,囧
    如果有不对的地方还请各位大神多多指教

    只有一部分,我并没有全都做出来,做出来的也没有全都写完。

    Week1和Week2的居多,到后面越来越难就不会了……

    Week 1

    注:以下所有无标记的都是Web题。

    谁吃了我的flag

    考察vim异常退出产生.swp文件的知识点。

    刚做这道题目的时候还没有hint,看到“没有好好关机”联想到可能是vim异常退出,这时候会有.swp文件泄露,所以构造?.index.html.swp,果然有这个文件。

    下载下来用记事本打开,找到flag。

    换头大作战

    考察HTTP请求方法、HTTP请求头。

    打开看到一个输入框,先随便打点东西提交一下。

    提示请求方法不对,那么使用POST方法提交。

    提示only localhost can get flag,那么要在请求头中添加X-Forwarded-For:127.0.0.1。

    抓包,改请求,发送。

    提示需要用Waterfox/50.0(水狐还行hhhhhh)

    做到这里估计还需要多次编辑请求头,所以再次抓包,使用Burpsuite的Repeater模块完成接下来的工作。

    这里需要改User-Agent,改完了之后发现Referer需要改成B站的地址(B站还行hhhhhh)

    改了之后发现you are not admin。根据以前做题的经验,在Cookie中发现了admin=0.

    改成admin=1,成功拿到flag。

    very easy web

    很简单的PHP代码审计,考察URL二次解码绕过。

    根据代码,id在urldecode之后需要等于vidar,但id自身不能等于vidar。

    由于%的urlencode为%25,v的urlencode为%76所以构造?id=%2576idar,提交拿到flag。

    can u find me?

    考察查看网页源代码和查看请求头、302跳转。

    进去看到“the gate has been hidden”,根据以前的家经验猜测链接可能在网页源代码里,打开网页源代码找了找发现了一个链接。

    访问这个链接,发现要求我们post“password”,找了半天没找着,猜测可能在响应头里。

    抓包,Ctrl+R,Go,发现了password。

    把password提交上去,给了一个链接,点进去提示too fast,在F12的网络监视器里发现了一个302跳转。

    看来flag应该在那个页面的源代码里。应该可以用view-source做,不过我这里还是抓包,Ctrl+r,Go得到了flag。

    HelloRe(Reverse)

    最基本的逆向,考察使用IDA的反汇编功能查看源代码。

    下载文件,用IDA打开,按F5反汇编,在main函数里发现了flag。

    Pro的Python教室(Reverse)

    最基本的Python逆向题,看懂代码就能做。

    (You're so vegetable还行hhhhhh)

    根据代码,enc2用BSAE64解码之后与enc1,enc3拼起来就得到flag。

    hgame{Here_1s_3asy_Pyth0n}

    Mix(Crypto)

    这个加密一共五层,考察各种密码、编码的解密与解码。

    第一层是摩斯密码。

    第二层是BASE16编码。

    第三层是栅栏密码。

    第四层是凯撒密码。

    perfect_secrecy(Crypto)

    考察OTP的破解。

    打开链接可以看到秘钥和密文,方括号里是密文。

    破解这玩意的脚本我还写不出来,所以只好从网上搜了一个脚本,用脚本破解。

    把这句话还原为有意义的英文,加上格式就得到flag。

    Hidden Image in LSB(Misc)

    考察图片隐写中的LSB隐写。

    用StegSolve找一找得到flag。

    打字机(Misc)

    这大概是个社工题……

    解压zip文件发现两张图,一张是flag的文字,一张打字机的图。

    很不巧我有flag那张图的字体,所以这题对我来说就相当于送分了。。。

    (看来出题人也喜欢京紫)

    Broken Chest(Misc)

    考察zip文件的格式。

    直接打开提示报错,用WinHex打开发现格式不对,修改前四位为504B。

    修改完成后保存,再解压时提示输入密码。在注释里发现一个字符串,这个就是压缩包的密码。

    解压后在flag.txt里找到flag。

    Try(Misc)

    考察流量分析和破解压缩包密码之掩码攻击。

    打开流量包,找到了一个zip文件。

    把这个文件导出,解压,发现一个加密的压缩文件和一个密码。

    提示密码的前五位是hgame,后八位未知,因此可以使用掩码攻击。

    用ARCHPR的掩码攻击功能尝试破解,发现选择纯数字时成功得到密码。

    解压,发现一张图片。

    用Winhex看了看发现有一个1.docx,所以这个图片应该是一个压缩文件。改后缀为.zip。

    又提示需要输入密码。由于没有任何提示,推测是zip伪加密。使用winrar的修复功能成功修复。

    解压这个文件得到一个1.docx,打开发现flag。

    其实flag本来是隐藏起来的,但是我以前设置过显示隐藏文字,就直接看到了……

    Week 2

    easy_php

    考察使用文件包含漏洞读取网页源代码。

    打开之后什么也没发现,但是标题是“Where is my robots”,所以查看robots.txt。

    可以看到给出了源代码所在的路径。

    看到源代码了(CL社区还行hhhhhh)。

    可以看出是一个文件包含漏洞。

    本来以为这个CL社区的图标有用的,但后来发现没啥用。

    在这里卡了很久,后来在大佬的帮助下发现构造?img=..././flag时有反应。

    又卡了很久,直到从一个大佬那看到了这个资料:https://blog.csdn.net/nzjdsds/article/details/82936045才知道原来是需要通过php内置协议暴露网页源代码。

    构造?img=php://filter/read=convert.base64-encode/resource=..././flag,得到了BASE64编码的网页源代码。

    解码拿到flag。

    又学到了一招。

    浪漫的足球圣地(Crypto)

    考察曼彻斯特编码的解码。

    没给任何提示,百度了一下浪漫的足球圣地,是曼彻斯特,难道有曼彻斯特编码?百度了一下,还真的有……

    参考了这篇资料:https://blog.csdn.net/hhhparty/article/details/51873342

    按照文中所述的第二种方法将编码转化为二进制,再转化为文本就可以得到flag。

    Vigener~(Crypto)

    考察维吉尼亚密码的解码。

    直接从网上搜了个脚本爆破,得到的有意义的字符串中有“the flag is”,后面的字母转化为小写就得到flag。

    貌似字母大写是爆破用的脚本的问题。

    Week 3

    听听音乐?(Misc)

    考察音频隐写。

    将题目中的音频下载下来,用Audition打开,发现正常音频的后面有摩斯电码。

    把这段摩斯电码解码,再将其中异常的几个字母转化为字母对应的数字,得到flag。

    至少像那雪一样(Misc)

    考察图片隐写、压缩包密码破解方法之明文攻击、doc文档隐写、二进制转字符串。

    把图片下载下来,Stegsolve什么也没发现,用winhex打开发现504B0304,说明这是个图种。

    504B0304往后的部分提取出来,单独存为一个压缩文件。

    压缩包有加密,试了一下不是伪加密,但看到压缩包里还有一张与下载下来的图片名字一样的图,说明应该是明文攻击。

    直接把下载下来的图片压缩,得到的CRC32校验值与压缩包中图片的不一样,但是删除掉FFD9后面的内容,再用winrar压缩,就可以得到一样的CRC32校验值了。

    使用ARCHPR的明文攻击功能恢复密码。

    用word打开压缩文件里的flag.txt,只有一堆貌似是空格和tab的东西,显示制表符和空格可以得到一些信息。这里面只有tab和空格,那这个加密就不外乎摩斯密码、培根密码和二进制了。

    试了几次,发现把tab转换为0,空格转换为1时可以得到flag。

    旧时记忆(Misc)

    果然是个脑洞题……考察的大概是收集信息的能力?

    打开图片发现不知道是什么东西,但貌似是用打孔来表示信息的,只能想到最早的计算机用打孔的纸带当做输入媒介,后来问了问大佬才知道这个是打孔卡上的几个不同的数字、字母和特殊字符组成的。

    找了张打孔卡的图对着看,将题目图中的信息还原为字母和特殊字符,得到了flag。

    相关文章

      网友评论

          本文标题:2019-03-14 HGAME 2019 Writeup(部分

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