第9章. ウェブアプリケーションのハッキング入門
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
パート II では、リコン スキルの上に、ウェブ・アプリケーションの脆弱性( )を利用するための特定のエクスプロイトについて学ぶ。ここでは、ハッカーの役割を担う方法を学ぶ。
第 2部では、第 1 部で紹介した仮想的なウェブ・アプリケーション、mega-bank.com を、今日のウェブ・アプリケーションの多くで頻繁に発見される、極めて一般的なエクスプロイトの数々を使って攻撃する。第 2 部が終了する頃には、悪用できるアプリケーションのバグを発見するために必要なリコン スキルと、それらのセキュリティバグを利用するペイロードを構築し、デプロイするために必要な攻撃的ハッキングスキ ルの両方を身につけることができるだろう。
ハッカーのマインドセット
成功するハッカーになるには、客観的に測定可能なスキルや知識のセット以上のものが必要だ。
ソフトウェア・エンジニアは、既存のコードベースに対する機能追加や改良を通じて、付加価値で生産性を測る。ソフトウェア・エンジニアは、「機能xとyを追加したので、今日は良い日だった」と言うかもしれない。あるいは、「a機能とb機能の性能を10%向上させた」と言うかもしれない。これは、ソフトウェア・エンジニアの仕事は、伝統的な職業に比べて測定が難しいとはいえ、定量的に測定可能であるという事実を暗示している。
ハッカーが生産性を測る方法は、判別や測定がはるかに難しい。なぜなら、ハッキングの大半はデータ収集と分析だからだ。多くの場合、このプロセスは誤検知に満ちており、知識のない傍目には無駄な時間に見えるかもしれない。
ほとんどの ハッカーは、ソフトウェアを分解したり修正したりするのではなく、既存のコードベースで作業するためにソフトウェアを分析し、エントリーポイントを作るのではなく、エントリーポイントを探す。多くの場合、エントリーポイントを探しながらアプリケーションを分析するために使用されるスキルは、本書の第 1 部で紹介するスキルと同じではないにしても、似ている。
どんなコードベースにも、潜在的に悪用可能なバグはたくさんある。優れたハッカーは、脆弱性の発見につながる手がかりを常に探している。
残念なことに、この仕事の性質上、優れたハッカーであっても大きな成功を収められずにかなりの時間を費やすことになる。適切なエントリーポイントを発見し、エクスプロイトを設計して提供できるようになるまで、ウェブアプリケーションの分析に数週間、いや数カ月を費やすことは十分にあり得る。
ハッカーとして、ペイロードを発見し配信することの重要性を常に強化する必要がある。それ以外にも、 、以前の試行とそこから学んだ教訓を注意深く記録しておく必要がある。小規模なアプリケーションの探索から、より大規模なアプリケーション、特に重要な機能やデータをターゲットとしたアプリケーションのハッキングを開始する際には、事前の作業を記録する際の細部への注意が非常に重要になる。
ソフトウェア・セキュリティの歴史でも見たように、ハッカーも常にスキルを向上させていかなければならない。つまり、ハッカーは常に学習していなければならないのだ。ウェブが適応していくにつれて、古いテクニックは価値を失っていくかもしれないのだから。
ハッカーとは、何よりもまず探偵である。優れたハッカーとは、適切に組織化された探偵であり、優れたハッカーとは、優れた技術的知識と技能を持つ優れたハッカーである。マスター・ハッカーは上記のすべてを備えており、彼らを追い払おうとする者たちが自らのスキルを向上させるのに合わせて、常にスキルを学び、適応させている。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access