(给算法爱好者加星标,修炼编程内功)编译:ImportNew/唐尤华snyk.io/blog/10-java-security-best-practices/1.用查询参数化防止注入在2017版OWASP十大漏洞中,注入攻击在当年名列前茅。查看典型的Java SQL注入,会发现查询参数拼接进了SQL语句。下面Java代码执行的SQL非常不安全,攻击者会利用它来获取设定之外的信息。public void selectExample(String parameter) throws SQLException { Connection connection = DriverManager.getConnection(DB_URL, USER, PASS); String query = "SELECT * FROM USERS WHERE lastname = " + parameter; Statement statement = connection.createStatement(); ResultSet result = statement.executeQuery(query); printResult(result);}如果例子中的参数写成 '' OR 1=1,那么查询结果会包含表中所有条目。如果数据库支持多个查询参数问题会更严重
………………………………