题目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