在我的代码中查找安全漏洞-LDAP搜索

时间:2019-07-12 04:51:20

标签: java performance security ldap

如何在此处的代码中找到易爆物品。我的任务是要我不使用程序来查找易受攻击的工具,因此不要使用Spotbug等。是否有任何网站和/或提示供我查找易受攻击的工具。这是我的代码

我曾经尝试过使用google,但是很难找到可靠的网站或文档来查找或帮助我找到易受攻击的人。

在LDAP目录中进行用户搜索:

public class LsiLDAPUsers
{
    private void searchRecord( String userSN, String userPassword ) throws NamingException
    {
        Hashtable<String, String> env = new Hashtable<String, String>();
        env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");

        try
        {
            DirContext dctx = new InitialDirContext(env);

            SearchControls sc = new SearchControls();
            String[] attributeFilter = { "cn", "mail" };
            sc.setReturningAttributes(attributeFilter);
            sc.setSearchScope(SearchControls.SUBTREE_SCOPE);
            String base = "dc=lsi,dc=com";

            String filter = "(&(sn=" + userSN + ")(userPassword=" + userPassword + "))";

            NamingEnumeration<?> results = dctx.search(base, filter, sc);
            while (results.hasMore())
            {
                SearchResult sr = (SearchResult) results.next();
                Attributes attrs = (Attributes) sr.getAttributes();
                Attribute attr = (Attribute) attrs.get("cn");
                System.out.println(attr);
                attr = (Attribute) attrs.get("mail");
                System.out.println(attr);
            }
            dctx.close();
        }
        catch (NamingException e)
        {
            // Forward to handler
        }
    }
}

我基本上需要使代码更安全。这是我的代码之一。但是我还有很多其他工作要做。我只需要从这个例子中得到一个很好的例子和/或技巧,谢谢!

1 个答案:

答案 0 :(得分:0)

一些提示:

  • 安全编码的主要支柱是对用户输入的正确验证。这是大多数黑客的主要切入点。
  • 使用SSL或TLS进行网络连接是当今的默认设置
  • 当今大多数系统中已禁用匿名搜索