第9章. ウェブアプリケーションのハッキング入門
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
このパートでは、Webアプリケーションの脆弱性を利用するために利用できる特定のエクスプロイトについて学ぶために、リコン スキルの上に構築していく。ここでは、ハッカーの役割を担う方法を学ぶ。
本書のこのパートでは、第 1 部で紹介した仮想のウェブアプリケーション、mega-bank.com を攻撃する。本書では、今日の多くのウェブ・アプリケーションで頻繁に発見されている、極めて一般的なエクスプロイトの数々を使用する。このパートで習得したスキルは、パート I の "Recon "のスキルとテクニックを応用する限り、簡単に他のパートに移行することができる。
本書のこの部分が終わる頃には、悪用できるアプリケーションのバグを発見するために必要な偵察スキルと、それらのセキュリティバグを利用するペイロードを構築しデプロイするために必要な攻撃的ハッキングスキルの両方を身につけることができるだろう。
ハッカーのマインドセット
成功するハッカーになるには、客観的に測定可能なスキルや知識のセット以上のものが必要だ。
ソフトウェア・エンジニアは、機能、つまり既存のコードベースに対する改良を通じて、付加価値で生産性を測る。ソフトウェア・エンジニアは、「機能xとyを追加したので、今日は良い日だった」と言うかもしれない。あるいは、「a機能とb機能の性能を10%向上させた」と言うかもしれない。これは、ソフトウェア・エンジニアの仕事は、伝統的な職業に比べて測定が難しいとはいえ、定量的に測定可能であるという事実を暗示している。
ハッカーは、生産性を見極め、測定するのがはるかに難しい方法で測定する。なぜなら、ハッキングの大半はデータ収集と分析だからだ。多くの場合、このプロセスは誤検知に満ちており、知識のない傍目には無駄な時間に見えるかもしれない。
ほとんどのハッカーは、ソフトウェアを分解したり修正したりするのではなく、既存のコードベースを使って作業するためにソフトウェアを分析する。多くの場合、エントリーポイントを探しながらアプリケーションを分析するために使用されるスキルは、本書の最初の部分で紹介されているスキルと同じではないにしても、似ている。
どんなコードベースにも、潜在的に悪用可能なバグはたくさんある。優れたハッカーは、脆弱性の発見につながる手がかりを常に探している。
残念なことに、この仕事の性質上、優れたハッカーであっても大きな成功を収められずにかなりの時間を費やすことになる。適切なエントリーポイントを発見し、エクスプロイトを設計して提供できるようになるまで、ウェブアプリケーションの分析に数週間、いや数カ月を費やすことは十分にあり得る。
ハッカーとして、ペイロードを発見し配信することの重要性を常に強化する必要がある。それ以外にも、過去の試行とそこから学んだ教訓を注意深く記録しておく必要がある。小規模なアプリケーションの探索から、より大規模なアプリケーション、特に重要な機能やデータをターゲットとしたアプリケーションのハッキングを開始する際には、事前の作業を記録する際の細部への注意が非常に重要になる。
ソフトウェア・セキュリティの歴史でも見たように、ハッカーは常にスキルを向上させていかなければならない。つまり、ハッカーは常に学習していなければならないのだ。ウェブが適応していくにつれて、古いテクニックは価値を失っていくかもしれないのだから。 ...
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