技术分享:如何利用文件上传执行XSS?-swf文件
利用文件上传实现XSS攻击是一个Hacking Web应用的很好机会,特别是无处不在的用户头像上传案例中,这就给予我们很多发现开发者错误的机会。基本的文件上传 XSS 攻击有以下几种。
1) 文件名
文件名本身可能就是网页的一部分可以造成反射,所以可以通过将 XSS 语句插入文件名中来触发反射。
尽管不是有意为之,但是这个 XSS 可以实践在http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_fileupload_value。
2) 元数据
使用 exiftool(http://www.sno.phy.queensu.ca/~phil/exiftool/) 工具可以修改 EXIF 元数据,从而在某些地方造成反射:
$ exiftool -FIELD=XSS FILE
例子:
$ exiftool -Artist=’ “><img src=1 onerror=alert(document.domain)>’ brute.webp
3) 内容
如果 Web 应用允许上传 SVG(一种图像类型)扩展名,则以下内容可以用来触发 XSS:
<svg xmlns="http://www.w3.org/2000/svg" onload="alert(document.domain)"/>
一个 POC 可以在这里看到 brutelogic.com.br/poc.svg。
4)源码
我们可以很容易的创建一张包含 javascript payload 的 GIF 图片,然后将这张图片当做源码加以引用。如果我们可以成功的注入相同的域名,如下所示,则这样可以有效的帮我们绕过 CSP(内容安全策略)防护(其不允许执行例如<script>alert(1)</script>
)
创建这样一张图片可以使用如下内容并将文件命名为 .webp 后缀:
GIF89a/*<svg/onload=alert(1)>*/=alert(document.domain)//;
GIF 文件标识 GIF89a 做为一个 javascript 的变量分配给 alert 函数。中间注释部分的 XSS 是为了以防图像被检索为 text/HTML MIME 类型时,通过请求文件来执行 payload。
我们通过下图可以发现,类 UNIX 命令的 PHP 函数 exif_imagetype() 和 getimagesize() 都会将这个文件识别为 GIF 文件。而一般的 Web 应用都是使用这些函数来验证图像类型的,所以这样一个文件是可以被上传的(但上传后可能会被杀毒软件查杀)。
更多可以用作 javascript 变量赋值的 ASCII 文件类型标识符,请参见https://en.wikipedia.org/wiki/List_of_file_signatures 。
更多关于文件上传 XSS 的详尽示例,包括绕过像 GD 库等过滤的例子,请参见https://github.com/d0lph1n98/Defeating-PHP-GD-imagecreatefro.webp 。
转自FreeBuf黑客与极客(FreeBuf.COM),黑客迷修改发布!
相关内容
excel怎么用乘法函数
excel怎么用乘法函数,乘法,函数,哪个,excel乘法函数怎么用?1、...
excel中乘法函数是什么?
excel中乘法函数是什么?,乘法,函数,什么,打开表格,在C1单元格中...
标准差excel用什么函数?
标准差excel用什么函数?,函数,标准,什么,在数据单元格的下方输...
电脑函数不正确|电脑出现函数不正确
电脑函数不正确|电脑出现函数不正确,,1. 电脑出现函数不正确故...
excel函数公式快捷键|excel公式的快捷键
excel函数公式快捷键|excel公式的快捷键,,1. excel公式的快捷...
怎么设置微信头像透明|微信怎样设置透明头像
怎么设置微信头像透明|微信怎样设置透明头像,,1. 微信怎样设置...
电脑硬盘重复文件扫描|重复文件名扫描
电脑硬盘重复文件扫描|重复文件名扫描,,重复文件名扫描您在使...
使用函数的快捷键固定|函数公式锁定快捷键
使用函数的快捷键固定|函数公式锁定快捷键,,1. 函数公式锁定快...
电脑程序文件名乱码|电脑文件名称乱码
电脑程序文件名乱码|电脑文件名称乱码,,1. 电脑文件名称乱码1...
excel常用函数都有哪些?
excel常用函数都有哪些?,函数,哪些,常用,1、SUM函数:SUM函数的作...
如何在wps中的放上编号|我想把图片批量插入到WO
如何在wps中的放上编号|我想把图片批量插入到WORD中,图片的...
去电头像设置|手机去电头像怎么设置
去电头像设置|手机去电头像怎么设置,,1. 手机去电头像怎么设置...
改变文件快捷键|更改文件名称的快捷键
改变文件快捷键|更改文件名称的快捷键,,1. 更改文件名称的快捷...
eclipse查找文件快捷键|eclipse查找文件名快捷
eclipse查找文件快捷键|eclipse查找文件名快捷键,,eclipse查找...
qq设置透明头像|设置QQ透明头像
qq设置透明头像|设置QQ透明头像,,设置QQ透明头像系统要求:安卓...