V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  pytth  ›  全部回复第 1 页 / 共 35 页
回复总数  683
1  2  3  4  5  6  7  8  9  10 ... 35  
@mengdodo 防不住,除非你上传的时候做二进制核验,读取文件的真实数据,进一步拦截伪造的图片文件。攻击者会将 test.html 修改后缀名为 test.png ,然后 test.png 内是 html 代码,其中 html 代码前面包含了图片头信息,二进制信息,可以绕过上传检测。,上传后得到 https://xxxxxx.oss-cn-hangzhou.aliyuncs.com/file/test.png ,执行后虽然是一个加载不出来的图片,但是,拼接 response-content-type 就可以指定这个文件的执行类型,例如:

https://xxxxxx.oss-cn-hangzhou.aliyuncs.com/file/test.png?response-content-type=text/html ,意味着 test.png 会以 text/html 类型执行,那么 test.png 等同于 test.html 了,里面的 js 就会被执行,除非你有严格的对象存储配置,禁止这样的参数去定义执行类型。
现在黑产因为需要依赖微信内的正常访问的域名,自己注册域名的风险很高,因此是每天都要去挖漏洞,来避免一些问题,1 是避免被查; 2 是降低域名的开销; 3 是减慢被封的速度;尤其是大厂大公司知名企业的域名,很多黑产都是比较喜欢的,因此腾讯、百度、网易、小米、美团、新浪、阿里等企业的域名很多都存在 XSS 以及文件上传漏洞。
-
常见于以下地方:
1 、微信小程序头像上传、反馈、发布;
2 、APP 的头像上传、文件上传、实名认证、营业执照上传等地;
3 、网页的文件上传例如富文本编辑器、头像上传、附件上传;
-
漏洞常见问题:
1 、对象存储可通过重放,html 文件改后缀为 png 即可上传,一般没有做文件类型校验的对象存储;
2 、重放时 Content-Type:image/png ,改为 text/html 也可以轻松绕过,仍然是文件类型校验不严谨所致;
3 、验证 Content-Type 和后缀名,但是并未验证真实的二进制数据,在 html 代码中混入图片的头信息当然可以传上去;
4 、后缀名只限制 html ,但是未限制 htm\xhtml\xhtm\shtml\mhtm 等类型,这些仍然存在上传的风险;
5 、未限制 svg 和 xml 的上传,这些是存在执行 js 代码的风险的;
6 、对象存储容易通过 URL 传递?response-content-type=临时改变文件执行类型,上传的是 png ,链接虽然得到,但是无法执行 html ,对象存储可以拼接 ?response-content-type=text/html 即可将 png 作为 html 执行,即可出发 js 代码
-
以上是本人分析过很多很多黑产的一些常见案例。
svg 是可以执行 js 的,大家需要注意,下方是示例代码:
```
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 640" preserveAspectRatio="xMidYMid meet" xmlns:xlink="http://www.w3.org/1999/xlink">
<style>
text {
font-size: 24px;
text-anchor: middle;
dominant-baseline: middle;
fill: #333;
}
a {
text-decoration: none;
}
</style>
<a xlink:href="https://www.baidu.com">
<text x="50%" y="10%" id="hello">loading...</text>
</a>
<script type="application/ecmascript">
<![CDATA[
setTimeout(function() {
var textElement = document.getElementById('hello');
textElement.textContent = "点击跳转";
}, 1500);
]]>
</script>
</svg>
```
保存为 test.svg 双击即可运行 js 代码,改成 test.xml 也是一样的道理。
26 天前
回复了 LivenStar 创建的主题 NAS 用笔记本做个 NAS,用什么系统好用点
@yusercxt 2.5 寸的硬盘使用 USB 就可以供电
2025-08-29 ,这台 NAS 仍然在运行,使用良好!!!
一天天的玩啥呢,玩个破 nas 都这么多叽叽喳喳的你们这些人,不就是一个 nas ,回归 nas 的本质就好。
27 天前
回复了 LivenStar 创建的主题 NAS 用笔记本做个 NAS,用什么系统好用点
我的笔记本,稳定运行 1 年,飞牛 OS ,4 盘位。
https://p1.ssl.qhimg.com/t11b673bcd62b0d7ff114063d9a.jpg
27 天前
回复了 webs 创建的主题 云计算 2C4G 的香港实例哪个云最优惠?
雨云 2C4G - 48/月
8 M 上传 8 M 下载
CPU:i5-14400F
显卡:RTX5060 8G
硬盘:1T m.2
主板:B760M
内存:32G DDR4 3200
5000 能搞定
豆包写的 ui 默认用了 TailWindCSS
@honkew hifini 是取消了 www.的解析,@解析未关闭 https://hifiii.com/
47 天前
回复了 qinrui 创建的主题 创造者 独立开发者有什么赚钱的机会?
做开源,引流,定制,付费二开,我做了 3 年
55 天前
回复了 test9106 创建的主题 云计算 短信验证码替代方案
微信小程序自带的短信验证可以考虑一下。
试试 Watt Toolkit 这款软件
QT 构建主界面+Chromium 实现 Web 和小程序的加载,目前还没习惯适用,暂时用着 3.9 先
77 天前
回复了 yesterdaysun 创建的主题 Vue.js Vue3 编写的最佳实践是怎样的?
没办法,vue3 的写法就是一堆 const ,一堆 ref ,一堆 return 。
87 天前
回复了 livc 创建的主题 Android 电脑如何远程控制华为手机
安卓 VNC 服务,无障碍辅助
高考报名系统就是用 ant-design 写的 https://pg.eeagd.edu.cn/ks/h5/index.html#/xgk/ggxx
127 天前
回复了 xiao20161010 创建的主题 程序员 大龄小白请教:跨域问题
实在不行 jsonp
1  2  3  4  5  6  7  8  9  10 ... 35  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3415 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 04:44 · PVG 12:44 · LAX 21:44 · JFK 00:44
Developed with CodeLauncher
♥ Do have faith in what you're doing.