![极限黑客攻防:CTF赛题揭秘](https://wfqqreader-1252317822.image.myqcloud.com/cover/251/47379251/b_47379251.jpg)
题目2 评论区
题目概况
评论区是XSS漏洞的第二高发位置。在很多技术高手的博客里,我们会经常看到针对评论区的测试代码。下面给出一道题目(ImgBlog-1,来自ICECTF)。
解题思路
打开题目网站,映入眼帘的是一个个人博客站点,页面上方有登录和注册的功能,如图1-20所示。
![](https://epubservercos.yuewen.com/51EEC8/26763887101476206/epubprivate/OEBPS/Images/026-1.jpg?sign=1738976774-roBaroJL3EbtGb4lrLmHD5OhQtdJr3Rn-0-0bc3dea32544fe2ea76cb64e9a384093)
图1-20
首先,尝试登录。使用简单的admin/admin等弱口令组合,以及简单的注入,都没有奏效。所以,直接注册一个账号。登录后,对帖子发表评论,发现网站可能存在XSS漏洞,如图1-21所示。
![](https://epubservercos.yuewen.com/51EEC8/26763887101476206/epubprivate/OEBPS/Images/026-2.jpg?sign=1738976774-rlQfacY3oKdcgbTnDsEddzxkD5Dxahz7-0-b8b584b395a732bb7f714f83e0d38af4)
图1-21
因此,尝试执行简单的XSS命令,以确定是否可以进行XSS攻击。
输入“test<scrip>alert("whoops");</scrip)”命令,提交评论——什么都没有发生。刷新页面——确实什么都没有发生。仔细分析网站的其他功能,发现每条评论都包含报告按钮和评论的固定链接。单击报告按钮,依然什么都没有发生。单击固定链接,意外地得到了我们想要的结果,如图1-22所示。
![](https://epubservercos.yuewen.com/51EEC8/26763887101476206/epubprivate/OEBPS/Images/027-1.jpg?sign=1738976774-NaOI4f9E7XOeBl2wpctpLYRMXj0Ri3Pe-0-201b62550b7b997e27d3d24003ad6cfb)
图1-22
看来,可以利用XSS漏洞获取admin账号的Cookie,从而构造XSS代码。
使用nc进行监听,效果是一样的。
![](https://epubservercos.yuewen.com/51EEC8/26763887101476206/epubprivate/OEBPS/Images/027-2.jpg?sign=1738976774-zWFk3CH05tINTirYtlAH6Q6sQ3Qk4TBL-0-9a6bf74c20d98a3c40799c28dceafb13)
在服务器上监听12121端口,获取返回的数据。
![](https://epubservercos.yuewen.com/51EEC8/26763887101476206/epubprivate/OEBPS/Images/027-3.jpg?sign=1738976774-InwtzWbvY4fRCAe3n9F7z1cskTu4UePB-0-e478ffa655fc5e4e005530ab53099a99)
到此,就利用XSS漏洞获取了管理员的Cookie。用Chrome的Edit This Cookie插件或Burp Suite将我们的Cookie修改为刚刚拿到的Cookie,刷新一下,如图1-23所示,将跳转到一个可以上传图片的界面——这里存在命令执行漏洞。
这个问题超出了XSS的范畴,相关内容将在1.3节讲解。
相关知识点
本题的前半部分没有难点,算是一道初级XSS题目(在解题过程中获取了Cookie)。在CTF比赛这种对方可能会立即单击我们的XSS代码的对抗情境中,可以使用nc监听一个端口以等待对方访问。在CTF比赛中,只要看到输入框,就可以输入XSS代码进行尝试,可能会获得意想不到的结果。
![](https://epubservercos.yuewen.com/51EEC8/26763887101476206/epubprivate/OEBPS/Images/028-1.jpg?sign=1738976774-8bHtTDsEsV5zy7QqRHFe6zD0nL5gEgqb-0-2a68596f9aa5a2c745827d6e252aec3b)
图1-23