2017湖湘杯网络安全大赛Writeup

2017-12-10 +10 266196人围观 ,发现 3 个不明物体 其他

网络安全成为关系国家安全和发展,关系人民群众切身利益的重大问题。

为深入贯彻习近平总数据网络强国战略思想,坚持网络安全为人民,网络安全靠人民,践行网信事业必须以人民为中心的发展思想,进一步提升全社会的网络意识和网络安全事件应急处置能力,中共湖南省委网络安全和信息化领导小组办公室决定在和国家有关部门的指导下,联合湖南省直相关部门共同举办 2017年 “湖湘杯” 网络安全技能大赛。

大赛分为初赛、复赛、决赛。 初赛150道理论题,前300名进入复赛,复赛为夺旗赛(CTF)竞赛模式。

湖湘杯网络安全大赛相关链接:【传送门

复赛为web渗透,反编译,破解,加密&解密 一共15道题。(以下是我们队伍答题的writeup)

Web200

题目:简简单单的上传,没有套路。
答题地址:

http://118.190.87.135:10080/

http://114.215.129.72:10080/

http://118.190.86.101:10080/

2017湖湘杯writeup

首先是在网站进行文件上传。修改Content-Type可绕过上传 ,这个题真的很想吐槽

2017湖湘杯writeup

最后经过各种尝试,get一枚文件包含。想到php://filter

http://114.215.129.72:10080/?op=php://filter/read=convert.base64-encode/resource=flag

get flag

2017湖湘杯writeup

2017湖湘杯writeup 

简单的android

题目:关于Android Crack的基本操作,对你来说SoEasy

过程:

将apk格式改成zip解压出来

使用d2x2jar反汇编拿到源码

2017湖湘杯writeup

使用工具jd-gui查看源码

2017湖湘杯writeup

直接拿到flag。

Re4newer

题目:逆向基本操作。

过程:

首先查壳,UPX,脱壳工具可以直接脱掉.

2017湖湘杯writeup

载入ida分析,shift+F12搜索字符串,发现字符串(success)

2017湖湘杯writeup

双击进去后,F5定位到关键代码

2017湖湘杯writeup

分析上述代码,取出41D740 等地址中的_DWORD与0×22异或即可得到flag

脚本及执行结果如下

2017湖湘杯writeup 

流量分析

题目:

2017湖湘杯writeup

过程:

使用wireshark打开下载的流量包,直接导出HTTP对象,发现flag.zip文件

2017湖湘杯writeup

打开flag.zip 发现内容为rgb值的ce.txt文件(rgb值还原图像相关代码)

经过调试图片高宽和方向,代码如下:

2017湖湘杯writeup

转换成图片后,get flag

2017湖湘杯writeup

Web300

题目:拿个shell就给flag。

答题地址:

http://114.215.71.135:10080/

http://114.215.133.202:10080/

http://118.190.77.141:10080

2017湖湘杯writeup

访问地址,直接给出源代码,过滤做的很全,并且只允许GET方式提交

参考文章:https://www.leavesongs.com/PENETRATION/webshell-without-alphanum.html

最后构造出不被拦截的payload,进行url编码提交

2017湖湘杯writeup

如图上,成功getshell  (cat../flag.php)

2017湖湘杯writeup

Encryptor.apk

题目:

2017湖湘杯writeup

过程:

通过分析源码,发现程序需要输入一个密码和一张图片,程序将图片与密码的MD5值逐位循环异或

2017湖湘杯writeup

直接给出解题代码

2017湖湘杯writeup

2017湖湘杯writeup

MISC 300

题目:

2017湖湘杯writeup

过程:

下载后查看是一个pkl文件,用pythonpickle模块打开,发现如下

2017湖湘杯writeup

由第一句话得知 ()里面的数字是黑色像素的坐标,然后通过脚本得到图片,脚本以及图片如下

2017湖湘杯writeup

2017湖湘杯writeup

查看该图片发现图片为美国经典漫画《卡尔文与霍布斯虎》中的卡通人物,其中作者是

比尔·沃特森(BillWatterson)。根据ctf中的套路,将其改成小写的billwatterson提交flag。

热身运动(题目已更新)

过程:

图片背景是一个8X8的宫格,左上角第一个编号为0,横向编号,右下角最后一个编号为63,按照GIF中,老虎出现的顺序,转换为数字是:

25,38,49,33,25,55,44,49,29,5,60,49,13,21,61,38,29,22,57,46,30,23,52

8X8=64,联系到Base64,查看base64表,将数字转换为对应的字母或数字

2017湖湘杯writeup

转换之后是ZmxhZ3sxdF8xNV9mdW5ueX0,对该字符串使用base64解码,即得到flag

2017湖湘杯writeup 

pyc分析

题目:pyc逆向分析,解密enc

过程:

将pyc用工具还原成py,发现是一行python代码

使用lamda和for var in value进行混淆,分析源码可知,该代码会丢失原始数据的最高两位,只有 6位有效,但是通过转换的table的 长 度只有94,所以高8位是0,高7位可能为0或1,根据算法写出逆算法,分 别 求高7位为1和0 的情况,代 码如下图:

2017湖湘杯writeup

执行结果:

2017湖湘杯writeup

其中“hhhhhqqqqKeyd9733c070b2138e5fsssfffffff”"”"”"”"”"”"””是高7位为0的情况。

“>>>>>{{{{g;4:,*&&/#*#.%$&+;(<}}}<<<<<<<xxxxxxxxxxxxx”是高7位为1的情况。

根据题目,只取{}中的内容,为g;4:,*&&/#*#.%$&+;(<或Keyd9733c070b2138e5f,根据Key分析,可能的原字符串为Key:9733c070b2138e5f,提交Key后面的内容,正确,所以9733c070b2138e5f即为flag

最后这次比赛还是学到了很多东西,欢迎各路师傅交流。

*本文作者:寻梦小生,转载请注明来自 FreeBuf.COM

这些评论亮了

  • D14tr0y (4级) 回复
    freebuf文章图片这边看起来特别不舒服,图片是多大,打开就是多大图片都不能放大的。看都看不清
    )21( 亮了
发表评论

已有 3 条评论

取消
Loading...
css.php