鱼C论坛

 找回密码
 立即注册
查看: 107|回复: 6

[技术交流] 为什么黑客钟爱这个函数「include.《》」

[复制链接]
发表于 3 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1c971fc6eabe00cad254834d2d01e26c8d1b78d7.jpg@308w_174h.jpeg

这个实验针对一款把用户提交内容直接反射到页面的Web应用:

后端仅在字符串里用String.prototype。includes检测是否含有< >,然后原样输出。

攻击者借助Burp的Content-Type Converter把原本的表单数据改写成application/json格式,将输入封装为数组并发送。

在线学习:



服务器因未校验数据类型,调用的是Array.prototype.includes;

它只检查元素本身而不会在元素内部逐字搜索,因此数组中的:

<img src=x onerror=alert(1)>字符串逃过了过滤,被浏览器插入DOM并立即触发XSS。

根因属于类型混淆漏洞。

如果过滤逻辑假设输入恒为字符串却缺少typeof等类型检查,攻击者就能通过JSON、URL参数或表单提交数组/对象来绕过黑名单;

当框架(如Express)自动把JSON解析为对象时,风险更高。

JavaScript中许多方法在String与Array上同名但行为不同,includes就是典型案例;

只要输入非字符串,比较与转义策略就会失效。此外,原本为防御而添加的字符串→HTML直写操作在这种情况下反而把恶意标签序列化进页面,触发跨站脚本。

防护需要在解析和输出两端同时加强:首先对req.body、req.query等入口做严格类型验证,拒绝非字符串;

随后统一使用成熟的转义或模板引擎处理输出,决不可依赖手写黑名单。

所有返回JSON的接口应设置Content-Type: application/json并加X-Content-Type-Options:nosniff,配合内容安全策略CSP限制脚本来源,防止浏览器把数据当HTML执行。

OWASP与PortSwigger的绕过清单展示了字符过滤的局限,社区案例也提醒开发者在任何包含检查前都应确认输入类型,否则一点点类型混淆就可能让攻击者轻松植入脚本。

评论区聊聊你的想法



                               
登录/注册后可看大图




如果有收获,别忘了评分


                               
登录/注册后可看大图


                               
登录/注册后可看大图
                                                                    
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 3 天前 | 显示全部楼层
感谢分享 朕又在鱼C学到东西啦!非常满意
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 3 天前 From FishC Mobile | 显示全部楼层
感谢分享 朕又在鱼C学到东西啦!非常满意
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 前天 09:36 | 显示全部楼层
感谢分享 朕又在鱼C学到东西啦!非常满意
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 前天 11:23 | 显示全部楼层
感谢分享 朕又在鱼C学到东西啦!非常满意
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 前天 18:06 | 显示全部楼层
感谢分享 朕又在鱼C学到东西啦!非常满意
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 前天 18:46 | 显示全部楼层
小甲鱼 发表于 2025-7-8 18:06
感谢分享 朕又在鱼C学到东西啦!非常满意

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-10 13:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表