美文网首页
FindBugs 规则整理:Security & Experim

FindBugs 规则整理:Security & Experim

作者: 格子林ll | 来源:发表于2016-12-14 11:31 被阅读0次

    目前已转至个人博客,本系列地址:Lam's Blog - Knowledge as Action

    DMI_CONSTANT_DB_PASSWORD

    Hardcoded constant database password
    代码中创建DB的密码时采用了写死的密码。

    DMI_EMPTY_DB_PASSWORD

    Empty database password
    创建数据库连接时没有为数据库设置密码,这会使数据库失去必要的保护。

    HRS_REQUEST_PARAMETER_TO_COOKIE

    HTTP cookie formed from untrusted input
    此代码使用不受信任的HTTP参数构造一个HTTP Cookie。

    HRS_REQUEST_PARAMETER_TO_HTTP_HEADER

    HTTP Response splitting vulnerability
    在代码中直接把一个HTTP的参数写入一个HTTP头文件中,它为HTTP的响应暴露了漏洞。

    SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE

    Nonconstant string passed to execute method on an SQL statement
    该方法以字符串的形式来调用SQLstatement的execute方法,它似乎是动态生成SQL语句的方法。这会更容易受到SQL注入攻击。

    XSS_REQUEST_PARAMETER_TO_JSP_WRITER

    JSP reflected cross site scripting vulnerability
    在代码中在JSP输出中直接写入一个HTTP参数,这会造成一个跨站点的脚本漏洞。

    LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE

    Potential lost logger changes due to weak reference in OpenJDK
    OpenJDK的引入了一种潜在的不兼容问题,特别是,java.util.logging.Logger的行为改变时。它现在使用内部弱引用,而不是强引用。–logger配置改变,它就是丢失对logger的引用,这本是一个合理的变化,但不幸的是一些代码对旧的行为有依赖关系。这意味着,当进行垃圾收集时对logger配置将会丢失。例如:
    public static void initLogging() throws Exception { Logger logger = Logger.getLogger("edu.umd.cs"); logger.addHandler(new FileHandler()); // call to change logger configuration logger.setUseParentHandlers(false); // another call to change logger configuration }
    该方法结束时logger的引用就丢失了,如果你刚刚结束调用initLogging方法后进行垃圾回收,logger的配置将会丢失(因为只有保持记录器弱引用)。
    public static void main(String[] args) throws Exception { initLogging(); // adds a file handler to the logger System.gc(); // logger configuration lost Logger.getLogger("edu.umd.cs").info("Some message"); // this isn't logged to the file as expected }

    OBL_UNSATISFIED_OBLIGATION

    Method may fail to clean up stream or resource
    这种方法可能无法清除(关闭,处置)一个流,数据库对象,或其他资源需要一个明确的清理行动。
    一般来说,如果一个方法打开一个流或其他资源,该方法应该使用try / finally块来确保在方法返回之前流或资源已经被清除了。这种错误模式基本上和OS_OPEN_STREAM和ODR_OPEN_DATABASE_RESOURCE错误模式相同,但是是在不同在静态分析技术。我们正为这个错误模式的效用收集反馈意见。

    其他文章(持续更新)

    FindBugs:简介与使用
    FindBugs 规则整理:CORRECTNESS
    FindBugs 规则整理:Bad Practice
    FindBugs 规则整理:Style & Dodgy
    FindBugs 规则整理:Malicious Code Vulnerability
    FindBugs 规则整理:Multithreaded Correctness
    FindBugs 规则整理:Performance
    FindBugs 规则整理:Internationalization

    引用

    整合以下文章过程中发现部分存在翻译错误,已做修正,同时感谢以下文章作者
    FindBugs规则整理

    相关文章

      网友评论

          本文标题:FindBugs 规则整理:Security & Experim

          本文链接:https://www.haomeiwen.com/subject/pmjimttx.html