2

構成済みの Oracle データベースに接続するレガシー アプリケーションがあります。

sqlplus同じマシンで起動するとログインできるのに、Oracleデータベースに正常にログインできないため、データベースの資格情報を変更するロジックがあるようです。

私が得ているエラーは次のとおりです。[DataDirect][ODBC Oracle Wire Protocol driver][Oracle]ORA-01017: invalid username/password; logon denied

データベースに送信されたデータベースのユーザー名とパスワードを確認するにはどうすればよいですか?

私がこれまでに試したこと:

  1. Oracle で失敗したサインオン試行の監査を有効にしました ( audit create session whenever not successful)。パスワードなしで正しいと思われるユーザー名のみをログに記録するため、問題は解決しません。

  2. スニファーを使用して、アプリケーションを実行しているマシンとデータベースの間のネットワーク トラフィックを盗聴しましたが、Oracle の TNS プロトコルは暗号化されているため、あまり役に立ちませんでした。

  3. netcatポート Xを使用してサーバーを起動し、アプリケーション構成ファイルでポート X を指定しました。アプリケーションはサーバーに接続しました。つまり、アプリケーションが正しいサーバーに接続していることがわかります。しかし、TNS プロトコルは非常に複雑であるため (クライアントとサーバー間で一連のメッセージを交換する必要があります)、Oracle をリバース エンジニアリングしたり、独自のサーバーを実装したりすることなく、目的を達成する簡単な理由があることを願っています。

  4. JDBC ドライバー ( Trace=1TraceFileTraceDll) のトレースを有効にしました。トレース ファイルには正しいユーザー名が表示されますが、明らかにパスワードがログに記録されていません。

私の環境:

  • データベース: オラクル 11g
  • アプリケーションの実行環境: Solaris
  • アプリケーションの使用: DataDirect ODBC Oracle Wire Protocol v70
4

1 に答える 1