利用文件上传实现XSS攻击是一个Hacking Web应用的很好机会 , 特别是无处不在的用户头像上传案例中 , 这就给予我们很多发现开发者错误的机会 。基本的文件上传 XSS 攻击有以下几种 。
1) 文件名文件名本身可能就是网页的一部分可以造成反射 , 所以可以通过将 XSS 语句插入文件名中来触发反射 。
文章插图
尽管不是有意为之 , 但是这个 XSS 可以实践在 W3Schools 。
2) 元数据使用 exiftool 工具可以修改 EXIF 元数据 , 从而在某些地方造成反射:
$ exiftool -FIELD=XSS FILE
例子:$ exiftool -Artist=’ “><img src=https://www.isolves.com/it/aq/hk/2020-04-10/1 onerror=alert(document.domain)>’ brute.jpeg
文章插图
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>)
文章插图
创建这样一张图片可以使用如下内容并将文件命名为 .gif 后缀:
GIF89a/*<svg/onload=alert(1)>*/=alert(document.domain)//;
GIF 文件标识 GIF89a 做为一个 JavaScript 的变量分配给 alert 函数 。中间注释部分的 XSS 是为了以防图像被检索为 text/html MIME 类型时 , 通过请求文件来执行 payload 。我们通过下图可以发现 , 类 UNIX 命令的 php 函数 exif_imagetype() 和 getimagesize() 都会将这个文件识别为 GIF 文件 。而一般的 Web 应用都是使用这些函数来验证图像类型的 , 所以这样一个文件是可以被上传的(但上传后可能会被杀毒软件查杀) 。
文章插图
点击关注我的头条号 , 0基础掌握更多黑客秘籍
私信回复‘’资料‘’领取更多技术文章和学习资料 , 加入专属的安全学习圈一起进步
安界
【黑客基础入门,如何利用文件上传执行xss攻击!】安界贯彻人才培养理念 , 结合专业研发团队 , 打造课程内容体系 , 推进实训平台发展 , 通过一站式成长计划、推荐就业以及陪护指导的师带徒服务 , 为学员的继续学习和职业发展保驾护航 , 真正实现和完善网络安全精英的教练场平台;
关注私信‘资料’
如果你想实现进高企、就高职、拿高薪 , 即使低学历也可实现职业发展中的第一个“弯道超车”!赶紧私信我!等你来!
推荐阅读
- 使用 Chrome 插件 Vimium 打造黑客浏览器
- 黑客“借刀杀人”,阿里 14 年经验安全大佬教你如何防御 DDoS 攻击
- 黑客必学知识点--”什么是内网穿透“详解
- 将您的Ubuntu终端变成带声音的黑客帝国的屏幕
- 黑客必会的六大命令
- 大神黑客工具Fiddler 使用教程,教你做大神!
- 黑客入门:入侵电脑,获取管理权限,必须掌握的8个基本的DOS命令
- 花草茶的基础知识,什么是花草茶
- 网课软件屡遭黑客攻击,FBI提醒民众注意
- PcapXray一款功能强大取证工具。黑客都害怕!