Shikata Ga Nai

Private? There is no such things.

いつもどのようにアプリケーションを分析しているか、なるべく詳しく書いてみた

Hello there, ('ω')ノ

 

まずは、ユーザ登録から。

 

 

入力した登録情報が送信され。

サーバからは、どのようにデータセットしたかのレスポンスが。

ここでは、送信したパラメータがどのようにセットされたかを確認して。

 

 

引き続き、登録情報で入力したセキュリティの質問については、

別のエンドポイントでリクエストを送信しているようで。

今回もサーバからは、どのようにデータセットしたかのレスポンスを確認して。

 

このユーザについて、初めのデータセットと今回のデータセットの中身を見ると

idとUserIdで紐づけしていそうで。

この推測を確信に変えるためには他のユーザでどのようにデータセットが

行われているかを比較するとよいわけで。

 

 

上記の暗号化されたデータを複合化して暗号化アルゴリズムを検証してみて。

"answer":"f0f805a5f19e6a653e49165daae7f32be6dafe825e0beb9a91932ae74fa04f9c"

 

 

次にアップルジュースをバスケットに追加していると。

 

 

追加した商品情報が送信されて。

ここでは、BasketIdはどこから発生したかは調査しないとわからず。

サーバでどのようにデータセットしたかのレスポンスがかえってくるものの

idは何を意味するのかはわからず。

 

 

次に送信されたリクエストはパラメータが見当たらず

何をしているのかがよくわからないので、tokenを解析することに。

Products/1のエンドポイントも何を意味するのかわからず。

 

 GET /api/Products/1?d=Sat%20Mar%2025%202023

 

 

tokenを解析するとユーザ情報を送信しているので、

ユーザに関するデータセットをサーバがレスポンスとして返しているようで。

 

 

今回もパスワードのアルゴリズムを解析してみるとMD5で脆弱で。

"password": "5f4dcc3b5aa765d61d8327deb882cf99"

 

 

次にバナナを追加してみると。

 

 

どうやらProductIDは、バナナのIDのようで、BasketIDは前回と変わらず。

サーバでのデータセットでは、idが前回のidからインクリメントされているので、

単なるシーケンスキーかもしれなくて。

 

 

リンゴの時は、エンドポイントがProducts/1だったが、

バナナのときは、Products/6となっているので

単純に商品の情報を取得するだけのAPIのように思えて。

 

 GET /api/Products/6?d=Sat%20Mar%2025%202023

 

 

ちなみにtokenの内容は変わらず。

 

 

ここで、リクエストをリピータへ。

エンドポイントをProducts/2に変更してみるとオレンジの情報が取得できて。

 

 

さらにtokenを削除しても同じ結果が得られるので、ユーザとは関係なさそうで。

 

 

次のリクエストでは、データセットの内容が増えているので。

カートの中身がすべてレスポンスでかえっているようで。

 

 

 

さらにYour Basketメニューをクリックしてみると。

 

 

basket/6のエンドポイントがリクエストされて。

 

 

なぜ、このユーザのバスケットの中身を見る際にエンドポイントが6なのか、

どこかでこのユーザにバスケットIDを紐づけているはずで。

そこで、過去のリクエスト/レスポンスの中身を確認していくと

どうもログインのタイミングでbidをデータセットしているので。

おそらくこれがエンドポイントとなっていそうで。

 

 

Best regards, (^^ゞ