前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【腾讯云代码分析】Java强化安全规则包

【腾讯云代码分析】Java强化安全规则包

作者头像
擒兽一号
发布2024-09-27 12:25:22
480
发布2024-09-27 12:25:22
举报
文章被收录于专栏:腾讯云代码分析
图片
图片

官网地址:https://cloud.tencent.com/product/tcap

官方开源仓库:(点击最下方【阅读原文】可直接跳转)https://github.com/Tencent/CodeAnalysis

国内工蜂镜像地址:https://git.code.tencent.com/Tencent_Open_Source/CodeAnalysis

规则包介绍

TCA支持针对Java语言中常见的安全漏洞,如XSS跨站脚本攻击漏洞,命令行注入漏洞等进行专项分析。本系列安全规则主要有“致命”和“错误”级别,针对这些安全漏洞,TCA可以准确识别漏洞所在位置并提供修复建议。

支持语言:Java

注:该规则包由TCA独立工具支持,需申请授权免费使用,申请传送门:

《CLS使用文档》:https://tencent.github.io/CodeAnalysis/zh/quickStarted/enhanceDeploy.html

启用规则包

分析方案 -> 代码检查 -> 【Java】强化安全规则 -> 启用/查看规则

图片
图片

问题示例

SQL注入

图片
图片

使用手册

命令行注入漏洞

当使用 childprocess 等模块执行命令时,拼接了用户可控的输入,会导致命令执行漏洞。攻击者利用漏洞可以控制目标主机或者容器。

代码语言:javascript
复制
void bad(HttpServletRequest req, HttpServletResponse resp){    String cmd = req.getParameter("cmd");    Runtime rt = Runtime.getRuntime();    rt.exec(cmd); // 触发规则}

修复建议:

需要评估 childprocess 等模块执行命令的使用,应限定或校验命令和参数的内容。

路径穿越漏洞

操作文件时,应该限定文件的路径范围,如果拼接用户输入到文件路径,可能导致路径穿越漏洞。攻击者利用漏洞可以访问到文件系统上的任意文件,这可能导致信息泄漏等问题。

代码语言:javascript
复制
void bad(HttpServletRequest req, HttpServletResponse resp){    String image = req.getParameter("image");    File file = new File("resources/images/", image); // 触发规则
    if (!file.exists()) {        return Response.status(Status.NOT_FOUND).build();    }
    return Response.ok().entity(new FileInputStream(file)).build();}

修复建议:

按业务需求,使用白名单限定后缀范围,校验并限定文件路径范围。

更多内容请参考帮助文档

【Java】强化安全规则包-使用手册 https://tencent.github.io/CodeAnalysis/zh/guide/%E4%BB%A3%E7%A0%81%E6%A3%80%E6%9F%A5/%E8%A7%84%E5%88%99%E5%8C%85/enhanced_safety_java.html

图片
图片
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云代码分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 规则包介绍
  • 启用规则包
  • 问题示例
  • 使用手册
相关产品与服务
腾讯云代码分析
腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档