千家信息网

如何利用图片上传功能实现存储型XSS

发表于:2024-11-16 作者:千家信息网编辑
千家信息网最后更新 2024年11月16日,今天就跟大家聊聊有关如何利用图片上传功能实现存储型XSS,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。漏洞发现1、登录进入目标WEB应用;2、
千家信息网最后更新 2024年11月16日如何利用图片上传功能实现存储型XSS

今天就跟大家聊聊有关如何利用图片上传功能实现存储型XSS,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

漏洞发现

1、登录进入目标WEB应用;
2、手工枚举测试;
3、观察WEB应用样式:

4、从中可以看到多个文本输入区域,我尝试了诸如sqli、xss、ssti等漏洞,都没问题。 但之后的Logo, Background Image 和 Advertisement Image图片上传点引起了我的注意,于是我决定构造一些特殊文件进行上传,看看有什么反应。 我随即构造了svg格式文件进行了上传:

5、 但上传后服务端却返回了以下错误响应:

6、那能否绕过格式限制呢?于是,我在文件名上做了手脚,把"Fileupload.svg"更改成"Fileupload.svg.png"再上传,竟然成功了:

7、之后,我点击上个界面中的"Next",跳转到了另一个页面,在该页面中我可以访问到刚刚上传的图片,而且这些图片都是缩略图方式:

8、如上点击右键的"View Image"后,跳出了期待的svg xss:

我构造的svg文件如下,其中包含了XSS Payload:

改造一下,可在其中加入账号密码窃取Payload,最终如下:

        

9、再次把这些SVG文件上传:

10、点击右键"View Image"访问上述svg文件:

11、跳出密码输入的XSS Payload提示框,点击输入密码后,可见密码被窃取:

漏洞奖励

漏洞最终获得了$1000的奖励。

看完上述内容,你们对如何利用图片上传功能实现存储型XSS有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0