CG-CTF
CG-CTF题目网址:https://cgctf.nuptsast.com/challenges#Web
第一题:签到题
查看页面源代码,得到flag(干杯~);
第二题:md5 collision
分析:从源码中可以知道,只有当a的值和QNKCDZO不同,而两者的md5加密后的值相同的情况下,才会返回flag。
思路:首先,我们对QNKCDZO进行md5加密;
结果发现其md5的值为:0e830400451993494058024219903391
有意思的是其md5的值的前两位是0e,而在PHP语言中,==为弱比较,0e开头后面无论有多少数字,其值均被视为0(即0的n次方均为0),那么我们只需要构造一个a,使其md5的格式为“0e****”即可;
https://www.219.me/posts/2884.html 0e开头MD5值小结;
取得flag(干杯~);
第三题:签到2
分析:查看页面源码,可以注意到限制了输入的长度为10,但是“zhimakaimen”有11位;
思路:通过burp抓包修改参数;
取得flag(干杯~);
第四题:这题不是WEB
分析:页面上没有任何提示,源码中也没有任何提示,唯一可能隐藏信息的只有GIF的图片了。
思路:将图片下载到本地,用记事本方式打开;
查找nctf,取得flag(干杯~);
第五题:层层递进
分析:查看源码,可以看出题目地址由两个框架构成,源码中也没有任何信息。
思路:这题卡了我很久,一直没有思路,因为在源码中任何信息都找不到,我甚至仔细看了CSS的文件,感觉自己方向错了;突然想到前几天做PTE的时候用到了御剑这个工具,我想会不会这里也同样存在一些其他的目录或者文件呢,于是我尝试用御剑扫描了一下;
发现除了首页并没有扫描出其他的目录或者文件(反思:或许是我的字典还不够完善。);这时候又想到或许可以用burp的爬虫试一下;
诶,发现找到了几个名字很有意思的东西,赶紧去看看是啥;
感觉会有东西,查看一下源码;
果然!一眼就被我看出了flag的藏身之处(干杯~);
第六题:AAencode
感觉有点乱码,我把这个文件下载到本地打开看看;
分析:一堆表情,根据题目AAencode,可以推测应该是一种编码方式。百度一下,你就知道;
思路1:AAencode是js加密的一种可以把文字加密成表情的加密方式(据说还有ppencode/rrencode/jjencode https://www.cnblogs.com/android-html5/archive/2011/02/09/2533784.html);
https://www.qtool.net/decode (aaencode在线解密网址);
取得flag(干杯~);
思路2:虽然经过编码加密,但是其本质上还是一种javascript语句,直接放在浏览器的控制台中运行;
同样可以取得flag(干杯~);
未完待续~