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