用途:该技能面向文件上传相关代码的生成与审查,帮助识别并避免“不受限文件上传”反模式(CWE-434)。资料将其严重级别标为 Critical,指出应用若接受用户上传文件而不校验类型、内容与大小,攻击者可上传恶意脚本或可执行文件,进而导致远程代码执行(Web Shell)、服务器被入侵或拒绝服务(磁盘耗尽)。
主要能力:资料给出反模式定义、脆弱代码示例、攻击场景、检测方法与预防措施。攻击场景示例为上传含 PHP 代码的 shell.php,再通过 URL 参数执行任意命令。检测要点包括:审查所有上传端点;检查文件名、类型与内容校验逻辑,关注缺失扩展名检查、使用黑名单而非白名单、仅依赖可伪造的 Content-Type 头、未检查文件真实内容(magic bytes)、缺少大小限制;检查存储位置是否可被 Web 访问及能否执行。
预防措施:扩展名严格白名单;用 magic bytes 校验真实文件类型,不信任客户端 Content-Type;强制文件大小上限;生成唯一随机文件名,不使用用户提供的文件名;将文件存储在 Web 根目录之外;为上传目录设置不可执行权限;集成恶意软件扫描。资料还关联路径遍历、命令注入、XSS 等反模式,并列出 OWASP、CWE-434、CAPEC-1、PortSwigger 等参考。
使用方式与限制:资料未提供该技能的具体安装命令、调用方式或平台支持信息,暂未提供。示例代码为 Python/Flask 场景,其他语言与框架的适配细节暂未提供。