私が作成したエンタープライズアプリケーションで侵入テスト担当者と協力して学んだ質問の一部について、小さな回答があります。文字列リテラルをハードコードすると、アプリから抜け出すのが非常に簡単です。暗号化パスワードを取得するために、複数の文字列を一緒に追加することを少しヒントにしました。だから、ハッカーがあなたのアプリから文字列を引っ張ってくると、どのパスワードが一緒になって正しいパスワードを取得するのかが分かりません。
また、もう少し行きたいと思ったら、私は[SomeBuiltInClass class]
をパスワード文字列にも使用するように提案しました。ハッカーが文字列リテラルをすべて自分のアプリケーションから取り除いても、正しいパスワードを取得してください。
[NSString stringWithFormat:@"%@%@%@",[NSString class],@"SomeIntermediateSomething",[NSData class]];
しかし、あなたはこのすべてを行うと、ハッカーはあなたが合格した場合、彼らはまだ資格情報を得ることができるので、彼はまだ、すべての呼び出し、アプリの周りプッシュすべてのパラメータを見ることができますジェイルブレイクデバイスでアプリケーションを持っている場合でも、それらはどのような方法または機能であってもよい。したがって、パスワードを使用する場合は、パスワードを正確に引き出すことも重要です。彼らはまた、あなたが望むどんなデータでもあなたのアプリでどんなメソッドや関数を実行することもできるので、どの関数を呼び出すかを知っているのと同じ方法でパスワードを得ることができます。
私はそれ以上のことを知っている人がいると確信していますが、これは私が過去に行ったことです。
なぜ私は-1を得ましたか? – user2977578
ハードコーディング資格情報とは何ですか? creds serversideを格納し、ユーザーが認証されたユーザーだけがデータを取得できるサービスを作成します。 – f1lt3r