API Hacking 101 から学ぶ

ソース:

cyberqueenmeg.medium.com

脆弱性API

 

訳:

APIとは何ですか?

アプリケーション プログラミング インターフェイス (API) は、最新のソフトウェアの重要な部分です。
これにより、さまざまなデータ ソースとテクノロジが相互に通信できるようになり。 たとえば、アプリに天気 API を統合して、アプリの一部として地域の天気を表示でき。 これらの API は企業やデータセットなどをまたいで通信するため、さまざまなセキュリティ脆弱性に対して脆弱になり。
では、これらの API をハッキングして、悪意のある者よりも先に脆弱性を見つけてパッチを適用するにはどうすればよいでしょうか?

 

APIの種類

アプリで使用される API には主に、REST APISOAP API の 2 種類があり。

REST API は軽量で柔軟性が高くなります。 これらはステートレスであり、情報を一切保存せず。
ただし、それらはキャッシュ可能で。つまり、以前の呼び出しを取得でき。
また、これらは階層化されており、API がセグメント化されているため、API のさまざまなコンポーネントが相互にやり取りできません。

SOAP APIREST API に基づいて構築され。
SSL 暗号化の使用など、より厳格なセキュリティ標準が使用されていて。
REST API ほど使用頻度は高くありません。

 

API ハッキング手法

では、これらの API をハッキングするにはどうすればよいでしょうか?
いろいろな方法があり:

 

Broken Object Level Authorization: 適切なアクセスなしに顧客、ユーザー、またはその他のプライベート オブジェクトに関する情報を取得しようとして

Broken User Authentication: ユーザー認証を適切に検証しないように API を取得しようとしています 

Excessive Data Exposure: API に必要以上のデータを返させようとする

Lack of rate limiting:  API が無限に情報を返そうとするため、クラッシュが発生し

Broken Function Level Authorization: タスク用に設計されたものとは異なる HTTP メソッドを API に実行させようとして(例: POST リクエストの代わりに DELETE リクエストを試みます) 

Mass Assignment: ユーザーが編集できない API パラメータのプロパティを編集しようとしています (例: アカウントウォレットまたは製品タイトルを変更しようと) 

Injection: SQL インジェクション、サーバー側リクエスト フォージェリ、またはその他のインジェクション方法を使用して API からデータを漏洩しようとして

Improper Assets Management: 古いバージョンの API を使用しようとして

 

全体として、API ハッキングは倫理的ハッキングの中でも非常に興味深い分野ですが、見落とされがちで。
API セキュリティについてさらに詳しく学んでいただければ幸いで。

 

 詳細については、OWASP トップ 10 API 脆弱性 (https://owasp.org/www-project-api-security/ ) および APISec University (https://www.apisecuniversity.com/ ) を。

 

owasp.org

www.apisecuniversity.com

 

ほなほな。