极限黑客攻防:CTF赛题揭秘
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

题目2 评论区

题目概况

评论区是XSS漏洞的第二高发位置。在很多技术高手的博客里,我们会经常看到针对评论区的测试代码。下面给出一道题目(ImgBlog-1,来自ICECTF)。

解题思路

打开题目网站,映入眼帘的是一个个人博客站点,页面上方有登录和注册的功能,如图1-20所示。

图1-20

首先,尝试登录。使用简单的admin/admin等弱口令组合,以及简单的注入,都没有奏效。所以,直接注册一个账号。登录后,对帖子发表评论,发现网站可能存在XSS漏洞,如图1-21所示。

图1-21

因此,尝试执行简单的XSS命令,以确定是否可以进行XSS攻击。

输入“test<scrip>alert("whoops");</scrip)”命令,提交评论——什么都没有发生。刷新页面——确实什么都没有发生。仔细分析网站的其他功能,发现每条评论都包含报告按钮和评论的固定链接。单击报告按钮,依然什么都没有发生。单击固定链接,意外地得到了我们想要的结果,如图1-22所示。

图1-22

看来,可以利用XSS漏洞获取admin账号的Cookie,从而构造XSS代码。

使用nc进行监听,效果是一样的。

在服务器上监听12121端口,获取返回的数据。

到此,就利用XSS漏洞获取了管理员的Cookie。用Chrome的Edit This Cookie插件或Burp Suite将我们的Cookie修改为刚刚拿到的Cookie,刷新一下,如图1-23所示,将跳转到一个可以上传图片的界面——这里存在命令执行漏洞。

这个问题超出了XSS的范畴,相关内容将在1.3节讲解。

相关知识点

本题的前半部分没有难点,算是一道初级XSS题目(在解题过程中获取了Cookie)。在CTF比赛这种对方可能会立即单击我们的XSS代码的对抗情境中,可以使用nc监听一个端口以等待对方访问。在CTF比赛中,只要看到输入框,就可以输入XSS代码进行尝试,可能会获得意想不到的结果。

图1-23