![极限黑客攻防: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=1739396477-bgpCpf7Yg3KeTr6yxFzPgpZu0RscOfv0-0-b47bdde40c0e53e6878184d082c2c103)
图1-20
首先,尝试登录。使用简单的admin/admin等弱口令组合,以及简单的注入,都没有奏效。所以,直接注册一个账号。登录后,对帖子发表评论,发现网站可能存在XSS漏洞,如图1-21所示。
![](https://epubservercos.yuewen.com/51EEC8/26763887101476206/epubprivate/OEBPS/Images/026-2.jpg?sign=1739396477-G3tliA5af4fU1OfQOUeoAUVR401ASrTU-0-c20c6156f848a1f4a746ca51a29b4e37)
图1-21
因此,尝试执行简单的XSS命令,以确定是否可以进行XSS攻击。
输入“test<scrip>alert("whoops");</scrip)”命令,提交评论——什么都没有发生。刷新页面——确实什么都没有发生。仔细分析网站的其他功能,发现每条评论都包含报告按钮和评论的固定链接。单击报告按钮,依然什么都没有发生。单击固定链接,意外地得到了我们想要的结果,如图1-22所示。
![](https://epubservercos.yuewen.com/51EEC8/26763887101476206/epubprivate/OEBPS/Images/027-1.jpg?sign=1739396477-Ffs1n2W5zp2EbQIhe8kKtibGvEm660G5-0-5fae39017b5e34d690c33ed1b3daed3e)
图1-22
看来,可以利用XSS漏洞获取admin账号的Cookie,从而构造XSS代码。
使用nc进行监听,效果是一样的。
![](https://epubservercos.yuewen.com/51EEC8/26763887101476206/epubprivate/OEBPS/Images/027-2.jpg?sign=1739396477-OfBJsjfR0VfGV9eWpEgIJO9EIaCr9LjB-0-0ceb7ca0ab22c94ac8080420148b6a21)
在服务器上监听12121端口,获取返回的数据。
![](https://epubservercos.yuewen.com/51EEC8/26763887101476206/epubprivate/OEBPS/Images/027-3.jpg?sign=1739396477-CYh4hGoJks1pdWz6bq66sd0ZZLPcZ9Ii-0-238b669d3b67b95b0d23ad3e6fa208e7)
到此,就利用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=1739396477-EehsKxkP0fIcoiZgiZ8MixtzsfXYrywv-0-3180fedb0cc12150824adede027b9dff)
图1-23