ASISCTFQuals2015的writeups

本文详细记录了ASISCTF2015预选赛的解题过程,包括Keka Bomb、Broken Heart、Best Photo、Simple Algorithm和KeyLead五个题目。解题涉及取证分析、Web、加密算法逆向等多个方面,通过Wireshark、HxD、Python等工具和技巧,成功获取所有flag。
摘要由CSDN通过智能技术生成

本文将记录ASISCTF2015年度预选赛题目的writeup。我会先放出在比赛中做出的部分简单题目的解题思路,其他题目我也会在复盘后不定期更新,以保证所有题目都是独立完成,权当个人学习笔记了。
ps:在线题目由于比赛结束,已经关闭;离线分析的题目可以去[https://github.com/ctfs/write-ups-2015]下载,那里有更多题目的writeups。

Keka Bomb(Points 75)

本题是取证分析题,给出了一个xz压缩包,解压后是一些超大的7z压缩包(4个多G)。通过查看crc校验码发现,所有压缩包中总有一个与其它不同,继续解压这个特殊的压缩包……。由于我的SSD上空间还比较大,且压缩包深度并不大,所以我都是用winrar手工解压的,直到出现bomb_08文件。看来flag就在这家伙里了,使用如下脚本搜索即可:

thefile = open("G:/bomb_08", 'rb')
 while True:
     buffer = thefile.read(100*10)
     if 'A' in buffer:
         print binascii.hexlify(buffer)
     if not buffer:
         break
 thefile.close( )

Flag:ASIS{f974da3203d155826974f4a66735a20b}

Broken Heart(Points 100)

本题也是取证分析题。题目给出了一个pcap文件,看来flag就在流量中。这类题目的普遍思路分两种,一种是从流量字符串中直接查找flag,另一种需要从流量中提取出文件,然后再从文件中查找flag,而本题属于后者。如果你还不确定使用哪种方式的话,假设pcap包中存在http流量,则可以先用wireshark的“Export Objects”功能提取http中的文件试一下,也许会有惊喜。

提取后你会发现,有一个文件中貌似存在png文件中的特殊字段IDAT,但文件又不完整,且根据HTTP header中的Content-Range字段可知,这个图片的其余部分分散在其他提取出的文件中。我是用HxD,按照Content-Range字段的顺序,手工将分片的png图片整合起来的。唯一需要注意的就是,不同块之间存在一定的字节重合,需要将重叠的部分删除即可。flag就在修复后的图片中。

Flag:ASIS{8bffe21e084db147b32aa850bc65eb16}

Best Photo(Points 175)

本题是一道web题。可以上传jpeg图片,且上传后会显示jpeg图片的exif信息,这与去年Hack.lu中的ImageUpload很像,可能是exif注入。我随手下载了一个jpeg文件后,通过windows的图片属性来插入如下作者信息(点击应用即可保存)并上传:

Olivia'or(updatexml(1,concat(0x7e,(select version())),0))or';
结果:
XPATH syntax error: '~5.5.43-0+deb8u1'

嗯,看来确实是exif注入了。然后就是构造payload爆flag了,过程比较程式化,即先从爆数据库名,再爆表名,最后通过表中的字段爆flag,套用上面的注入语句即可。结果如下:

数据库:information_schema,photo
表:photos_extratext,tbl_flag_000
字段:id,flag

最后使用到的语句如下:

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值