文件上传+XSS
Task
|
|
Solution
有一个文件上传功能,允许上传jpg,png,gif文件,并且对上传文件的幻数进行了检查,仅仅修改上传的扩展名是没有用的。在完成上传后,会将上传的图片preview出来,也就是说我们知道上传的图片的具体位置。
还有一个发送message的功能,结合题目的信息,以及csp头,估计这题是要考察xss:
文件上传功能+XSS,可以参考一下这篇文章:File Upload XSS
所以思路如下:
- 上传一张包含xss-payload的gif,得到gif的地址。
- 构造message为
- 发送message,执行xss-payload。
尝试获取一下Cookie,构造gif的paylaod如下:
在message框里填上payload,gif的图像地址:
submit后可以看到接受到的请求:
得到的cookie是USERID%3D%3CSCRIPT%3Ealert%28%27XSS%27%29%3C/SCRIPT%3E
,即USERID=<SCRIPT>alert('XSS')</SCRIPT>
。没啥帮助。
观察到Referer: https://llc.dctf-quals-17.def.camp//bot.php?id=8472,存在一个bot.php,直接访问只发现它引入了jquery.js.min。利用gif的xss尝试读取:
同样没有用。
通过扫描器,可以扫出一个 admin.php,构造gif:
base64解码后得到:
考虑到bot.php有引入jquery。所以gif的xsspayload也可以如下:
排版后的几段实际执行的payload:
|
|
|
|