whctf2016初赛Writeup(web&crypto)

whctf2016初赛提前结束了,团队的小伙伴们还是很给力的,做出了所有的web及几乎所有(差一道)的crypto题。

Web题

0x01. 信息

打开是一个代码下载链接,下载下来是wireshark抓的cap包,打开包分析发现两个http的包,get请求下载了zip的压缩包,利用wireshark导出zip包-File-Export Objects-HTTP。发现需要密码打开,官方提示华科官网,解压密码www.hust.edu.cn,flag在flag3.docx中

0x02. 窃取

测试地址存在union注入,利用sqlmap在wh_ct4_hgduyingjkhjhjg库中发现flag的提示flag is nothere,but I can tell you the flag is xor user's password.,那么到web_sqli库中,将user1和user2的password异或后解密,得到flag:hust

0x03. 忘了账户和密码

username: ' union select 1,2,3-- - , 三列

password: 任意

0x04. find

右键源代码,发现

1
css/[adwxhyz]{2}ctf[0-9]{7}.css"

前两位字符,后7位数字的正则,大胆猜测前两位是wh,后7位直到官方给了提示(),一个qq号,搜索qq的资料,发现其为1999年5月12的生日,尝试css/whctf1999512.css成功,flag就在里面whctf{Wh3tF_H@rd}

0x05. beat it

打开又是一个pcap的包下载,三个ipv4的协议包,尝试重组将中间的丢弃,把data组合hex两次转字符串,得到flagwhctf{000 here it is the flag 000}

0x06. 密码忘了怎么办?

登录口sql注入,还是union的,注入发现user表有flag字段,将12,13,14,15行的flag字段组合
whctf{hello$$##itisme&---&&&}

0x07. 看图说话

给的提示里ctf页面脚本,猜测存在ctf.php,打开是302跳转,返回包里有张图片链接
templates/images/xxx/ctf.jpg
,将图片下载下载利用notepad++打开,flag在最后whctf{today@@isnot09#$tomorrow}

CRYPTO题

0x01 我叫李二狗(一)
直接base64解密,然后李二狗是近视,将l换成1,x换成1,o换成0,解密发现是left16加密方式。

0x02 李二狗的梦中情人
将隐藏在图片末尾的链接中的图片提取出来,然后convert转换成png格式,diffimg下得到一个二维码,二维码黑白反转下,得到正确的二维码,扫一下,bingo

0x03 我叫李二狗(二)
给了两个RSA加密,由于其弱公钥,N太小,直接分解大数,破解

0x04 李二狗的LOL战歌
听音乐,感觉音频右声道像电报,然后翻译成摩斯编码,直接得到13位字符,然后用ROT13编码转换下,得到flag