2.4 CTF Micro-CMS v1网站有XSS攻击风险

缺陷标题:CTF Micro-CMS v1网站>Create Page>有XSS攻击风险。

测试平台与浏览器:Windows 10+Firefox或IE11浏览器。

测试步骤

1)打开国外安全夺旗比赛网站主页:https://ctf.hacker101.com/ctf,如果已有账户请直接登录,没有账户请注册一个账户并登录。

2)登录成功后,请进入到Micro-CMS v1网站项目https://ctf.hacker101.com/ctf/launch/2,如图2-4所示。

3)单击Create a new page链接,出现如图2-5所示页面,在输入框中输入“<script>alert('XSS')</script>”。

图2-4 进入Micro-CMS v1网站项目

图2-5 Create Page输入脚本后单击Create按钮

4)单击Create按钮观察。

期望结果:脚本不会执行。

实际结果:脚本执行,捕获Flag如图2-6所示,关闭Flag弹出框,就会出现XSS攻击成功框,如图2-7所示。

图2-6 成功捕获Flag

图2-7 弹出XSS攻击成功提示框

[攻击分析]:

对于XSS攻击,永远不要相信用户的输入,对用户输入的数据要进行适当处理,在渲染输出前还要进行适当的编码或转义,才能有效地避免XSS攻击。

在交互页面输入<script>alert('xss')</script>漏洞代码,查看是否出现弹框并显示出XSS。

例如说对于用户在表单中填写的用户名,如果程序员直接输出显示的话,就会有XSS攻击风险,因为对于用户名,攻击者同样可以用XSS攻击语句进行填充,所以在输入时,如果没有防护住,那么输出展示时,一定要对一些特殊字符进行适当的编码才能进行输出展示。