ようなマウスで操作するタイプのコンピュータしか使用したことのない人は、ハッキングがどのようにして可能なのか全く意味不明な状態だと思います。そこでハッカーと呼ばれるにはどのような知識が最低限必要か、素人の方でもわかるようごくごく簡単に記しておきます。ちなみに、この記事を読んだところでハッカーになれるわけではありません。言うまでもありませんがハッキングは犯罪です。実体験をしたいのであれば、自身でサーバを構築して試してださい。他人が所有するサーバを攻撃するなど言語道断です。「ハッカーになるには、ハッカー文化に身を投じよ」のような抽象的なことは言わず、最低限必要な技術だけをサラッと紹介します。皆さんが普段使用している、スクリーン上のマウスを操作するタイプのインターフェースです。スクリーン上で文字のみを相手にコンピュータを操作するタイプのインターフェースです。深くコンピュータの内部を操作することが可能です。パワーを実感してみましょう。使用している方は以下の説明に従いコマンドを実行してみてください。Enterボタンを押してください。すると怪しげな黒いスクリーンが出現したと思います。これをコマンドプロンプトと言います。いうコマンドを打ち込み実行してください。簡単に説明すると、これでCUI上でデスクトップ画面に移動したということです。押すと、皆さんのデスクトップに存在するファイルなどがプロンプト上に列挙されるはずです。次に以下のコマンドを実行してみてください(文字に間違いが無いよう注意してください)。上のデスクトップを確認してみてください。以上が作成されているでしょう。同じことをしようとした場合、フォルダを一つひとつマウスとキーボード操作で作成していく必要があります。あれば、コマンドで一瞬でできてしまいます。操作することが必須になります。操作できない人などこの世の中に存在しないでしょう。Unix系と言われたりもします。操作できるようになりましょう。知識が無いなどということはあり得ません。初学者用には『新しいLinuxの教科書』という書籍がいいでしょう。上で操作するタイプのものが数多くあります。コンピュータのお勉強はどこから始めていいか分からないという人たちが多く存在します。Linuxサーバの構築も学んでいくというのがベストだと思います。補足Webアプリケーションとはあなたが普段閲覧しているインターネット上のサイトと考えてもらえればいいです。Bash(シェルプログラミング)スクリプトを作成するスキルは必須です。上で使用するプログラムコードだと考えてください。作成されたハッキングツールは数多く存在します。自身で作成することができなければ、いつまで経っても他人が作成したツールに依存することになります。いった人たちはハッカーではなくスクリプトキディと呼ばれ、正真正銘のハッカーとは言えません。シェルプログラミングを学びたいのであれば『入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界』という書籍がオススメです。そのため、ネットワークを攻撃するタイプのコードはこれら言語で記述されていることが多々あります。(C言語実用マスターシリーズ)』という書籍は「シニア」という題名がついていますが、C言語の文法についての記述もありオススメです。C言語で書かれたネットワークアプリケーションのコードが紹介されていていい参考になると思います。応用すれば悪用できてしまえるようなコードも掲載されています。C言語を解説するタイプの書籍ではないので、全くの素人にはオススメしません。C言語の基本を心得てから購入したほうがいいでしょう。Webアプリケーションのどこにどのようなセキュリティーホールが存在するかは、書籍だけで勉強するのではなくハンズオン(体験学習)で、実際に作成してみるほうが身に付くでしょう。この言語の習得は必須です。関しての書籍は『パーフェクトPHP』がオススメです。数あるコンピュータ言語の中では容易に習得できる部類であり、初学者にも敷居が低いのが特徴です。扱う人は技術力が低い」というような風潮がいまだに存在しています。それはそのコードを書いたその人自身の問題であり、実際は大規模で強固なアプリケーションも構築できる立派なコンピュータ言語です。場合「便利な機能はどんどん取り入れていく」というような雰囲気を持つので、それが一部のプログラマには、「確固たる思想のない適当な言語」と映るのかもしれません。Webアプリケーションはハッカーの一番の標的でしょう。CSSはそれらの見た目とデザイン表現するマークアップ言語と呼ばれるものです。基礎部分であれば習得はかなり容易です。知らずしてWebアプリケーションは語れません。『HTML5&CSS3デザインブック』などがオススメです。ネットワークハッカーはよく「ネットワークに対して深い知識を有する者」と言われたりします。ネットワークを介して対象物を攻撃するので、当たり前と言えば当たり前です。それらの動作について深い知識を有することは、ハッキングを行う上で必須と言ってもいいでしょう。知っておきたいTCP/IP、LAN、光ファイバの基礎知識』という書籍はネットワークの基礎の部分を抽象的に述べています。初めから技術的なことに手を出すのではなく、こういった基本を知識として有しておくと後々役に立つので読んでおくといいでしょう。入門編』がこの分野では聖典のような立ち位置にあります。一度目を通しておきましょう。古めの書籍ですが、ネットワークなどのインフラの基礎となる技術はその時々の時代に左右されにくいので読んでおいて損はありません。データベースを操作する言語です。理解ができなければデータベースをハックすることはできないので、必須の技術です。データベースのアーキテクチャ(構造)そのものを理解しておく必要があるでしょう。(基礎からシリーズ)』はデータベースを扱った、初学者用の書籍として人気があります。視点が変わりますが、必須ではないにしろ英語も知っておいたほうがいいことは間違いないでしょう。少なからず英語に拒否感がある人はハッカーには向いていません。そもそもコンピュータシステム自体が英語が元として成り立っていますし、新しい技術のドキュメントはたいてい英語で書かれています。世界中の数多くのハッカーの人たちは出身国はどこであれ、やり取りするときは英語です。日本国内にも優秀なプログラマやエンジニアの方はたくさんいます。英語に対して苦手意識のある人はたくさんいますが、少なからず英語は見るのも嫌という方はほとんどいないと思います。必須ではありませんが、知っていれば特ということは覚えておいてください。その他はっきり言って本当に最低限のことしか述べていません。本来であれば暗号化技術やリバースエンジニアリングなど、そういったことも述べるべきでしょう。深堀するとキリがないので、ここで止めておきます。天才ハッカーなどと称賛されている素晴らしい技術力を持った人たちも実際は全てを理解しているわけではありません。その個人の得意分野と、そうでない分野が存在します。腕が立つエンジニアの人でもコンピュータシステムという巨大なカテゴリーで述べたとき、理解のある範囲はせいぜい20-30%程度でしょう。結局なにから始めればいいのか?結論から述べます。Webアプリケーションを作成するというところから始めてみてはどうでしょうか。