package filesplit;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Hashtable;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class JNDITest {
public static void main(String[] args) {
String jndiName = "CTDataSource";
String url = "t3://10.10.5.29:9200";
JNDITest jtest = new JNDITest();
try {
jtest.testjndi(jndiName, url);
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void testjndi(String jndiName, String url) throws NamingException,
SQLException {
Hashtable arg = new Hashtable();
arg.put("java.naming.provider.url", url);
arg.put("java.naming.factory.initial",
"weblogic.jndi.WLInitialContextFactory");
InitialContext objCtx = new InitialContext(arg);
DataSource ds = (DataSource) objCtx.lookup(jndiName);
Connection conn = ds.getConnection();
PreparedStatement pstmt = conn
.prepareStatement("select USER_ID,NAME from pub_user where DEPARTMENT_ID=0");
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString("USER_ID") + ","
+ rs.getString("NAME"));
}
rs.close();
pstmt.close();
conn.close();
}
}
得到的结果如下:
00000495,hpbac
00000503,test12
00000969,hang
运转良好。
分享到:
相关推荐
JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试...
- **测试类**:用于验证JNDI操作是否正确的测试类,可能使用了JUnit或其他测试框架。 - **README**:项目说明文档,解释如何编译、运行和理解项目内容。 **学习JNDI的关键点**: 1. **理解Naming和Directory的区别*...
使用"jndi_tool.jar"文件,用户可以运行这个工具,执行一系列的JNDI查找测试,以检查目标系统是否易受攻击。然而,值得注意的是,任何对公开网络的服务进行攻击性的利用都可能违反法律法规,因此,这个工具应仅限于...
总结,配置Tomcat 6.0的数据源(DBCP)和JNDI使用,主要是通过修改服务器和应用的配置文件,然后在代码中利用JNDI查找机制获取数据源,实现数据库连接的高效管理。通过实践和理解这些步骤,可以提升你的Java Web开发...
当我们使用IntelliJ IDEA进行开发时,经常需要与Tomcat配合来运行和测试Java Web应用程序。在这个场景中,“intellij idea使用tomcat开发时自动部署jndi数据源”是一个重要的知识点,它涉及到如何在IDE中配置和管理...
在这个测试案例中,开发者遇到了一个问题,即在使用Maven构建的JNDI环境中,通过IntelliJ IDEA的Tomcat 7插件运行应用时,出现了无法连接到`context.xml`配置文件的错误。 首先,我们需要了解JNDI的基本概念。JNDI...
使用此工具可以获取JNDI链接,可以将这些链接插入POC以测试漏洞。 例如,这是一个Fastjson vul-poc: { " @type " : " com.sun.rowset.JdbcRowSetImpl " , " dataSourceName " : " rmi://127.0.0.1:1099/Object ...
5. 测试应用程序,验证数据源是否能正确地被SSH框架中的各组件使用。 通过上述步骤,我们可以实现JNDI与SSH框架的有效整合,提高应用的可移植性和可维护性。在实际项目中,这有助于简化配置,使得数据库连接的管理...
该压缩包"JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar"可能包含了一个JNDI注入攻击的示例或者测试工具,"SNAPSHOT"通常表示这是一个开发中的版本,可能尚未经过完整测试,因此可能存在漏洞或不稳定性。使用这样的...
例如,当使用JUnit测试时,模拟JNDI环境可以帮助我们隔离测试代码,避免对真实服务器的依赖。此外,IDE如Eclipse和IntelliJ IDEA提供了集成的JNDI查看和编辑功能,便于开发者调试和管理应用的配置。 总之,JNDI作为...
在WebLogic Server这样的应用服务器中,JNDI被广泛使用来管理应用程序的资源。 首先,我们来看看JNDI的基础概念。JNDI 不是实际存储资源的地方,而是提供一个接口,使得开发者可以通过统一的方式访问不同类型的命名...
本工具仅面向**合法授权的企业安全测试**,如您需测试本工具的可用性请自行搭建靶机环境,在使用本工具进行检测时,您应确保该行为符合当地的法律法规,并且已经取得了足够的授权。**请勿对非授权目标进行扫描,如您...
- 为了测试JNDI配置是否正确,你可以尝试从Spring应用上下文中获取数据源并打印其信息,确保能成功查找并实例化。 6. **扩展性与最佳实践**: - 考虑使用Spring Boot,它提供了更简洁的方式来配置JNDI数据源,只...
java asm jndi_JNDI-Injection-Exploit,用于log4j2漏洞验证 可执行程序为jar包,在命令行中运行以下命令: $ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar [-C] [command] [-A] [address] 其中: -C ...
开发者应该使用参数化查询,而不是字符串拼接,同时限制应用程序的JNDI查找范围,只允许访问特定的服务或资源。此外,更新和打补丁也非常重要,因为许多已知的JNDI注入漏洞已经被修复。 总的来说,JNDI注入是一个...
在CS模式中,客户端应用通过接口与服务器端的类库交互,而JNDI可以作为桥梁,帮助Java应用找到并使用这些非Java的资源。 首先,理解JNDI的工作原理至关重要。JNDI的核心概念包括命名上下文(Naming Context)和查找...
3. **操作JNDI条目**:用户可以通过插件进行添加、删除、修改JNDI条目的操作,这使得在开发和测试环境中配置和调整资源变得更加便捷。 4. **源码查看**:由于该插件的标签包含“源码”,可能意味着它还提供了查看或...
4. 输入连接的名字(建议使用数据库的名字命名,以便于区分),JNDI Name 是 JNDI 连接的名字,在我们的调查管理系统中统一使用 SurveyJNDI 作为 JNDI Name,数据库类型选择 Oracle,数据库 Driver 选择 Oracle 的...
然而,有时我们可能希望在非Web环境下或不使用JNDI的情况下配置数据源,这时我们需要在Spring的配置文件中等价地实现JNDI的数据源配置。以下是如何在Spring中进行这种转换的详细步骤和知识点: 1. **理解JNDI配置**...
4. **测试连接**:完成上述配置后,可以在应用程序中通过`@Autowired`注解注入数据源,进行数据库操作。 **三、注意事项** 1. 数据源的配置参数如URL、用户名和密码需要根据实际的数据库环境进行调整。 2. `auth=...