# 2014年澳大利亚信息安全挑战 CySCA CTF 官方write up Web篇
from:https://www.cyberchallenge.com.au/CySCA2014_Web_Penetration_Testing.pdf
0x00 背景
——-
* * *
一年一度的澳洲CySCA CTF是一个由澳洲政府和澳洲电信Telstra赞助的信息安全挑战赛,主要面向澳洲各大学的安全和计算机科学专业的学生。
CTF环境全部虚拟化并且需要openvpn才能进入。
0x01 第一题 非请勿入
————-
* * *
说明:
一个只有VIP用户才能进去的blog,想办法进去后就能看到flag了。
解题:
打开burp和浏览器开始观察目标,我们发现了几个有意思的地方:
“`
有个用户登录页面 login.php
blog导航栏里有个博客页面的链接,但是是灰色的无法点击也打不开
cookie有两个,PHPSESSID还有vip=0
cookie没有http only,有可能被xss到
“`
vip=0,这有点明显,用burp或者浏览器cookie编辑工具把vip改成1,刷新页面后那个隐藏的链接可以打开了,打开后就是flag: ComplexKillingInverse411
0x02 第二题 好吃的小甜饼
—————
* * *
说明:
用已任何已注册用户的身份成功登录blog。
解题:
翻了翻这个博客,又发现了几个好玩的地方:
“`
可以看博客内容
可以添加回复
用户Sycamore似乎正在看第二篇博客 view=2
“`
Burp的内建插件 intruder可以用来在提交的参数里插入sql注入或者xss代码,Kali中自带了几个xss和sql注入的字典:
“`
/usr/share/wfuzz/wordlist/Injections/SQL.txt
/usr/share/wfuzz/wordlist/Injections/XSS.txt
“`
用这几个字典里的标准注入语句和xss代码对 GET view=?和 POST comment=?这两个参数过了一遍,没发现任何xss或者注入,于是我们决定对comment这个地方再仔细看看。
comment参数似乎过滤了不少东西,比如去掉了所有引号,转义了全部html特殊字符。但是似乎comment支持markdown语言里的斜体,粗体和链接标签,然后我们用burp intruder的xss测试在下面几个输入里面测试:
“`
*test*
*test*
“`
果然成功了,在markdown链接标签的链接名称的地方存在XSS:
后续测试发现链接名称最长只能用30字符,翻了翻OWASP的XSS cheat sheet,
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
最短的是这个:
“`