Shikata Ga Nai

Private? There is no such things.

Some Tips to Finding IDORs more easily and Fixing themを訳してみた

Hello there, ('ω')ノ

 

IDOR をより簡単に見つけて修正するためのヒントを。

 

脆弱性

 IDOR

 

記事:

 https://medium.com/@nxenon/some-tips-to-finding-idors-more-easily-and-fixing-them-2c9d0c58bb4a

 

今回は、IDOR をより速く見つけるための鍵となる IDOR ブリンカーと。

IDOR の一般的な知識を持ち、おそらくそれらを修正したいプログラマー向けの。

ヒントについてお話ししたいと思い。

最初に IDOR とは何かを説明することに。

 

PortSwigger によると:

安全でない直接オブジェクト参照 (IDOR) は、アプリケーションがユーザ提供の。

入力を使用してオブジェクトに直接アクセスするときに発生するアクセス制御の。

脆弱性の一種で。

IDOR 脆弱性は、水平権限昇格

(自分と同じ権限を持つユーザへのアクセスを変更することを意味して)

に最も一般的に関連していますが垂直権限昇格

(管理者ユーザなどのより高い権限を持つユーザーへのアクセスの変更を意味して)

に関連して発生することもあり。

 

一般に、リクエスト内に ID が含まれている場合、またはオブジェクトの。

バックエンドまたは概念内のオブジェクトである何かが見つかった場合は。

IDOR の脆弱性についてテストする必要があり。

気をつけているのは、目隠しのようなもので。


時間オブジェクト:

ほとんどの場合、この記事でオブジェクトと言うときは。

リクエスト内のパラメータを意味して。

この場合、それ自体が時間を持つパラメータを意味して。

最初に、ペネトレーション テスターまたはバグ バウンティ ハンターが。

時間オブジェクトに注意を払う必要があり。

過去に期限があった変更不可能なものについて扱いたい場合は。

プログラマは、時間入力を使用していることを知っていて。

 

アプリケーションの機能に依存しますが。

例として、アイテムと異なるタイムラインを繰り返す場合は。

ユーザから時間を取得する必要があり。

これは、コントロールが正しく実装されていれば問題なくて。

 

では、オブジェクト ID とタイムラインが異なる場合はどうなるか。

下記は、オブジェクトにアクセスするための 2 つの異なるケースで。

 

 

したがって、ケース 1 では、ユーザが時間に基づいて項目を。

変更または追加できるように、プログラマはユーザから時間を取得する必要があり。

 

ケース 2 では。

Web アプリケーションは時刻をチェックするだけで。

時刻チェック レベルを通過した後は、ID と指定された時刻を比較しないため。

ハッカーは過去に発生した項目を簡単に変更または追加できて。

下記がオブジェクトにアクセスしてチェックする脆弱な方法と安全な方法で。

 

 

これは、現在詳細を表示できないプログラムの IDOR の例で。

下記は、過去の時間のリクエストで。

 

 

したがって、攻撃を成功させるために必要なことは。

時間をその時間の翌日に変更することだけで。

これは、後でアイテムを変更する権限があるためで。

ただし、Web アプリケーションは、リクエスト内の時間で ID をチェックしておらず。

 

 

Best regards, (^^ゞ