写在开头的话:
今年可谓说高校非常重视网络空间安全了,为何这么说,不单单是因为北邮举办的这第一届面向中学生的网络空间安全技术大赛,今年的自主招生中,北邮、中科大、川大都对网络空间安全有特长的中学生出台了相应的降分政策,而且优惠可谓说是非常大了,降一本线。
北邮的这次比赛,单从奖项设置来看可以说非常棒了“2018年全国中学生网络安全技术大赛设一等奖1名(奖金8000元),二等奖5名(奖金5000元/人),三等奖10名(奖金2000元/人)。获奖选手将有机会参加高校学科特长生选拔。”但是(but!)我一开始很是不理解,为什么要加入上午的编程即ACM类型的比赛,下午的重头CTF,三道web、三道re。这对有短板的选手来说非常吃亏。后面想明白了,比赛的目标就是选拔人才不是选拔人力呗,所以自然要淘汰我这种单向发展的菜鸡了。
该比赛赛制为个人赛,并不是之前打ctf那种团队赛,考查的东西,简单来说分为两类,上午的编程即ACM,六道,从9点-12点,下午的CTF(web3道+re3道),从2点-5点。
上午ACM三个人全部做完了,我知道的第一二是河北的两个,一个是我朋友,才高一,很强了,被吊打;下午的web只有有一个人全部做完,据说这大佬是上午第三名即ACM他也做完了。膜!总成绩会在4.4号北邮发公示出来。
以下为自己写的非官方解题报告,因为只做出来了web1和re1、re2,因此其他题目的wp并没有,只是web2考的是反序列化,比赛的时候应该写成private的,但是脚本写的默认的public了,还是平时没深入研究,还需努力学习。web3考的是SQL注入,需要手工fuzz。 下文的wp如有疏漏或者错误,欢迎指出
下载链接:https://www.klmyssn.com/CTF/2018-BY-WP-HY.pdf
2018年“北邮网安杯”解题报告
题型:WEB
编号:WEB1
题目描述:交易中心,你能买到FLAG吗?
http://114.255.41.11/attaches/a463f189bfd40bdb116fa9e61d4d6253.zip
解题流程:
1. 刚刚一开始一看这个,面熟啊,去年的0ctf有一个也是这个交易什么的,但是后面实际操作不一样。但是下意识联想到以前看过的《图解密码技术》一书上面,讲到过ECB加密模式的攻击,举得案例就是这种交易的,所以到时候重点看看加密方式了。
2. 下载zip,源码先审计一下。
3. 果不其然,encrypt.php文件里面看了下加密方式就是ECB的$encrypted = mcrypt_encrypt($algorithm, $key, $string, MCRYPT_MODE_ECB);
那就很美滋滋了,在ECB模式中,将明文分组加密之后的结果直接作为密文分组,缺点是会容易攻击,因为明文相同的密文相同。
4. 其次在encrypt.php里面$algorithm = 'rijndael-128';可以知道一共是128位,每个字符是8位,所以就一共有16个字符。所以再结合ECB的弱点,那么我接下来就是要拼接的格式如下了,十六个字符为一组,因为总共分了三组。
第一组:4||AAAAAAAAAAAAA第二组: AAAAAAAAAAAAAA||第三组:1000
5.接下来抓包下,得到原始加密'4' => 1000对应的加密内容,再得到'1' => 10的加密内容,替换掉。
6.再看index.php,header这里,就构造对应的参数。
7. 访问构造好的url,得到flag。
题型:RE
编号:RE1
题目思考:一道mfc的Crackme
解题流程:
1.ollydbg载入,一开始随便输入一串,发现过不了几行检测
2.可以看到这里对输入的东西做了点检测,0x42,0x55之类的直接化成十进制转换成asii即可,
3.可以得到需要输入的长度是0x48-0x28+1=33,并且输入的格式为BUPT{xxxxxxx},重新输入,发现可以走到算法部分了
4.这是一个循环异或的过程,前面6位判断过了,后面的27位进行异或,由于异或是可逆的过程,可以直接修改汇编指令
然后就可以得到flag
6.flag如图: BUPT{S1mpL3_C0mpAre_is_SoEasY!!!}
编号:RE2
题目思考:采用了rc4加密,需要找到密文和密钥即可
解题流程:
1.拖入ida,字符串定位,找到关键函数strcmp
2.密文就是7c553什么的这一串了,点进去直接找到数据
密文是7C553E5F0EB4CCB977BF6BD960E0B968FB11CED2154B0EB5F73E51EE514D5A9C0
3.密钥的话可以动态调试找到密钥载入的地方,内存中找到密钥
4.直接解密得到flag:BUPT{rc4_Cryptography_1sSOEa5y!-_-!!!}
发表评论