如何编程读取svg文件中的对象_浅谈无 webshell下的文件上传漏洞

记录一个老生常谈的漏洞—文件上传漏洞。其实这个漏洞各位师傅的骚操作很多,大部分都是通过文件上传功能点(或者某些富文本编辑器之类)上传的webshell,当然有些情况下可能不是很顺利,但是通过各种姿势进行绕过系统的检测能够完成上传的都不在今天的讨论之内。也就是在现在会遇到的比较多的情况,系统严格校验,无法上传webshell,如何进行漏洞挖掘?

01

html

有些系统黑名单了N多文件格式后缀,但是除了.html,这个时候可以构造html payload ,一般在论坛发布附件、资质认证(例如开发者认证)、上传简历附件等场景。

(1)html->>xss

-----------------------------21957609327038Content-Disposition: form-data; name="file"; filename="xss.html"Content-Type: image/jpeg <svg onload="alert(1)"/>html>-----------------------------21957609327038--

(2)html ->>csrf

尤其可以绕过验证referer的网站

(3)html ->>钓鱼

具体操作就不赘述了。

02

xml

和上面类似,对于可以上传.xml 的也可以进一步利用,XXE一般都不行,可以尝试下XSS。

confirm(document.domain)]]>           

然后浏览器访问https://xx.com/upload/xss.xml ,可以看到弹窗效果。

1dc60a0d81db250acb31c276d8f07a85.png

03

xlsx

常规操作XXE,另外也可考虑xss(特殊场景:例如批量导入商品信息、批量导入人员信息等处,若没有对excel单元格里面的数据做转义或过滤)。

04

svg

可以尝试xss:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" onload="alert(1)">svg>

05

csv

csv命令注入,插入公式:

SUM(1+1)*cmd|' /C calc'!A0

5cd5183683d6b77af939dae59d3cb3da.png

06

pdf

上传pdf里面可以嵌入一些交互对象,因此可以利用xss。adobe acrobat 里面通过创建交互对象,动作选择javascript

app.alert('1');

24c500d348ce6676644be0ce0030d6b3.png

用浏览器打开pdf ,除火狐浏览器外,chrome和IE会触发xss

7fb769bc3bc6bb686f3409d258c95fdc.png

07

mp4和avi

主要利用了FFmpeg HLS playlist 漏洞,如果服务器使用的是FFmpeg 对媒体解码时,会执行恶意代码来读取本地文件。这部分可以参考https://paper.seebug.org/338/ 分析的文章。

08

swf

构造xss漏洞,例如

http://xxx.com/xss.swf?js=alert(document.domain);

09

zip

(1)可尝试任意文件读取漏洞,通过生成软链接,然后压缩成file.zip:

ln -s /etc/passwd linkzip --symlinks file.zip link

上传到服务器后,应用服务进行解压返回文件内容,就会读取/etc/passwd 内容后返回。

(2)尝试目录穿越漏洞

错误之处还望各位师傅斧正~

4354ffd982e10e33dbbb879ce8f01c22.png

我知道你肯定直接滑到了最后~f48dd6e2a77e2607be1e3c386790669b.png

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值