第二届上海大学生CTF线上赛部分Writeup
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
仔细(Web 100)
扫描了一下发现http://120.132.85.112:15322/log/这个目录可以访问,下载到日志文件access.log,然后导入excel分析,将所有返回值不是404的结果筛选出来。
发现一个疑似后台的地址:
http://120.132.85.112:15322/wojiushiHouTai888/denglU.php?userna me=admin&password=af3a-6b2115c9a2c0&submit=%E7%99%BB%E5 %BD%95
访问之,发现flag。
跳(Web 100)
威胁1(Web 100)
用户名admin,密码8位数,提示系统2016年建成。
于是猜测密码是2016年的一个日期,类似2016XXXX的纯数字。
用Burp爆破了一下,果然如此,密码20160807。
登录,发现flag。
威胁2(Web 150)
这个系统的源码网上可以找到,下载之后打开
/data/user/084e0343a0486ff05530df6c705c8bb4.php,发现里面存了一串md5:e10adc3949ba59abbe56e057f20f883e,解出来123456。
使用guest/123456登录,在网页左下角看到flag。
物超所值(Web 150)
审查元素看下代码。
页面中藏着id和Price两个隐藏文本框,按下shop now按钮之后会执行这段脚本,先判断Price是否被篡改,再判断余额是否足够,如果都符合就把Id 和Price两个参数提交给服务器。
用burp直接伪造一个post请求,提交,返回flag。
分析(Web 150)
进入最下面的登录页面:http://120.132.85.112:1999/administrator.php 右键查看源代码,用户名administrator,密码administrator。
直接登录,提示ip不在许可范围之内,再次审查元素。
Burp拦下登录请求,加一句X-Forwarded-For: 127.0.0.1再发送,搞定。
大可爱(Misc150)
拿到图片之后丢进linux跑一遍binwalk–e,里面藏了个zlib压缩文件,解压之。
继续binwalk,里面竟然还有zlib压缩文件,再次解压。
打开
504b030d,典型的zip压缩文件头,将其写入文件,扩展名改成zip,解压得到flag。
跳(Web 100)
右键,test/test,可以登录,不过很快就跳出去了。
看了下token:ad023*******b9033196ba818f7a872b,竟然可以md5解密,解出来test2。
猜测管理员token是e00cf25ad42683b3df678c61f42c6bda,admin1的md5。
改了下返回包的set-cookie,找到flag。
洋葱(Crypto 300)
一个加密的7z文件,一开始冥思苦想了好久,后来想到个脑洞:压缩前的txt文件大小是6,也就是说内容长度是6,还给出了对应的CRC32。
联想到彩虹表的原理,决定枚举所有可能的6位字符串,进行爆破。
借用了学校的服务器,解出来3段字符:_CRC32,_i5_n0,t_s4f3。
连在一起,_CRC32_i5_n0t_s4f3,这就是解压密码。
提示弗吉尼亚密码,但是密钥竟然有10000条…不管了,写个Python脚本全部跑一遍吧。
用excel分析可能的10000种明文,猜测其中… XX X …对应的是is a,果然。
读到最后,sopasswordisvigenerecipher funny,解压密码vigenere cipher funny。
解压,又是个加密压缩包,还有提示。
Python写了个脚本枚举,跑了10分钟出来了:I7~5-s4F3?
输入密码,解压,竟然还有加密压缩包…这很洋葱。
查了一下这是个很有名的MD5碰撞实验,另一个程序输出的是Goodbye World :-(
解压,总算看到flag字样了,不过要先解RSA。
看了下公钥格式之后丢进openssl,找到n和b。