admin管理员组

文章数量:1794759

CG

CG

CG-CTF——WEB

工具:

①Winhex:图片隐写工具,可通过搜索“ctf”“CTF”“key”“flag”等关键字得到flag。
②在线工具HtmlEncode/BASE64转换:注意源代码里奇怪的字符串,可以尝试解码(分清类型)。
③BurpSuite:抓包工具,这个很好用。
④Wireshark:抓包工具。使用说明

WEB

  • 1、签到题
    题目地址

直接F12查看源代码就可以得到flag。

  • 2、md5 collision
    题目地址

先简单学习一下md5()加密解密。
再来看题。题目中的collision是冲突的意思,猜测可能是前后条件矛盾。
只有当$a != 'QNKCDZO' && $md51 == $md52的时候才会回写flag。但是这是矛盾的。

if ($a != 'QNKCDZO' && $md51 == $md52)echo "nctf{*****************}";

这个题目利用了php弱类型。比如在==判等时,0exxxxx=0xsfdsf=0。而在源代码中给出的 ‘QNKCDZO’ 的md5就是0e开头,使用a传输一个md5也是以0e开头的即可。

***参考:PHP Hash比较存在缺陷,影响大量Web网站登录认证、忘记密码等关键业务

‘QNKCDZO’ 经过 md5() 解密后是’0e830400451993494058024219903391’。

<?php
$str = "QNKCDZO";
echo md5($str);
?>

构造a=s155964671a(这里用所有0e开头的md5小节都可以),得到flag。

注:0e开头的MD5小节

0e545993274517709034328855841020:s155964671a
0e342768416822451524974117254469:s214587387a
0e848240448830537924465865611904:s214587387a
0e848240448830537924465865611904:s878926199a
0e545993274517709034328855841020:s1091221200a
0e940624217856561557816327384675:s1885207154a
0e509367213418206700842008763514:s1502113478a
0e861580163291561247404381396064:s1885207154a
0e509367213418206700842008763514:s1836677006a
0e481036490867661113260034900752:s155964671a
0e342768416822451524974117254469:s1184209335a
0e072485820392773389523109082030:s1665632922a
0e731198061491163073197128363787:s1502113478a
0e861580163291561247404381396064:s1836677006a
0e481036490867661113260034900752:s1091221200a
0e940624217856561557816327384675:s155964671a
0e342768416822451524974117254469:s1502113478a
0e861580163291561247404381396064:s155964671a
0e342768416822451524974117254469:s1665632922a
0e731198061491163073197128363787:s155964671a
0e342768416822451524974117254469:s1091221200a
0e940624217856561557816327384675:s1836677006a
0e481036490867661113260034900752:s1885207154a
0e509367213418206700842008763514:s532378020a
0e220463095855511507588041205815:s878926199a
0e545993274517709034328855841020:s1091221200a
0e940624217856561557816327384675:s214587387a
0e848240448830537924465865611904:s1502113478a
0e861580163291561247404381396064:s1091221200a
0e940624217856561557816327384675:s1665632922a
0e731198061491163073197128363787:s1885207154a
0e509367213418206700842008763514:s1836677006a
0e481036490867661113260034900752:s1665632922a
0e731198061491163073197128363787:s878926199a
0e545993274517709034328855841020:s878926199a

  • 3、签到2
    题目地址

既然提示了请输入口令zhimakaimen,输入试试,发现无法“开门”。F12查看源码,发现一行定义输入长度的代码,设定的最大值是10,数一数“zhimakaimen”一共有11位。原来如此!双击这行代码修改为11。再次输入口令,开门,即可得到flag。

  • 4、这题不是WEB:
    题目地址
    真的,你要相信我!这题不是WEB

这题的确不是web,算misc…
解压下来是个图片。用winhex打开该图片,左上角菜单栏选择Search,选择Find Text(查找文本),输入搜索“ctf” “CTF” “key” “flag”等关键字即可得到flag。
*提示:快捷键:ctrl+F

  • 5、层层递进:
    题目地址

打开链接发现是个网页。用F12查看器发现什么都看不出来。Ctrl+U 查看页面源代码试试。

发现里面还嵌套了一个网页,再点进去。

发现仍然有嵌套,再点。经过好几层SO.html的嵌套,终于发现了一个全新的网页。

打开网页,F12仔细观察其中代码,终于得到flag。

  • 6、AAencode
    题目地址
    javascript aaencode

在chrome中打开,发现中文乱码。这是由于还没有安装解码插件。
去扩展程序里下载Charset插件(修改网站的默认编码),将编码格式改为UTF-8。


这串字符串就会变成这样。

全部复制到 console(控制台)里,回车键enter一下。

跳出一个窗口,得到flag。

  • 7、单身20年
    题目地址
    这题可以靠技术也可以靠手速! 老夫单身二十年,自然靠的是手速!

链接打开,看到提示,点击。
发现什么也没有,这就奇怪了。
思考用burpsuite抓包。设置intercept is on,开始抓包。
刷新网页,发现Target变成黄字,应该是抓到了什么,去看看。

Target(目标)——显示目标目录结构的的一个功能

哈哈,果然有flag。

  • 8、php decode
    见到的一个类似编码的shell,请解码

了解php的都知道,eval不能回写,正确应为echo
修改为echo。运行即可得到flag。

  • 10、单身一百年也没用
    题目地址
    是的。。这一题你单身一百年也没用

看题目就知道这题与第七题很像,也是考验“手速”。还是按照第七题的方法来做,bp抓包,得到flag。

本文标签: CG