私がセキュリティに取り組み始めたのは 10 年以上前の高校生の頃で、最初は偉い人たちがグループ内にブラック ページを投稿しているのを見て、これはすごいと思いました。それから少しずつ勉強し始めたんですが、その時にインターネットで「IPとIDの違いは何ですか?」と質問してみたのですが、、、
その後、少しずつ点滴の勉強を始めて、最初の駅に着くと、そこはピアノ売りでした。Webシェルを入れたのですが、当時は全く理解できず、インターネットからダウンロードしたものには実はバックドアがあり、他の人のWebシェルボックスに送り返されてしまいます。数日後、公式サイトにほうれん草の広告がたくさん出てきて、当時はピアノメーカーがこれを作るのかと思ってしまいました、、、
その後、私はゆっくりと学び、ゆっくりと取り組み、注射を使用して郡内のすべての中学校と高等学校をカバーし、シャマトの黒いページをいくつか掲載しました。
その後、大学はコンピュータネットワークを選択しましたが、ネットワークの基盤は非常に強固であり、将来レッドチームにとっても非常に便利です。私もプログラミングを少しずつ勉強し始めて、Pythonを勉強したり、sqlmapのソースコードを読んでみたりしました。
そしてたまたまその年に struts2 が爆発的に普及したので、私は Java を少し学びました。次に、javaweb、ssh、ssm を学習し、厄介な Web サイトをいくつか書き始めます。開発をある程度学ぶと、抜け穴についての理解が深まり、抜け穴を見たときに機能を実現する方法がわかると思います。
卒業後は警備会社に入社し、イントラネットとの関わりを始めました。18年ぶりにイントラをプレイしましたが、当時はまだCSを使っている人が少なかったです
彼を遠隔操作ツールとして使用します。当時は Web サイトが充実していたので、外部ネットワークへのインジェクション、弱いパスワード + アップロード、struts2、weblogic などを探しました。初めてにしては出来が良かったので、続けて数回のネット保護に参加し、毎回たくさんのグッズを頂きました。
その後、ドメインをヒットしたり、脆弱性を分析したり、穴を掘ったり、コードをレビューしたりして、どんどん熟練していきました、、、
だから半分野生なんです。
私の知っている赤組のボスの中には、車の修理や独学をしながら中学を卒業し、工業高校を卒業した人もいます。今では彼らは皆、業界のビッグネームです。
だから、この趣味がある限り頑張ればいい、と応援したいです。
次に、ネットワーク セキュリティについての学習の概要も共有します。
1. ネットワークセキュリティ独学学習の誤解と落とし穴
1. プログラマーになろうとせず(プログラミングベースの学習)、それから学習を始めてください。
これまでの回答で、私はプログラミングに基づいてネットワーク セキュリティの学習を開始しないことを繰り返し強調してきましたが、一般的に、プログラミングの学習は学習サイクルが長いだけでなく、実際にセキュリティに移行した後に得られる重要な知識も多くありません。
一般の人がプログラミングをしっかり学びたいと思ってネットワークセキュリティを学び始めると、長い時間がかかることが多く、途中で挫折してしまいがちです。また、プログラミングの学習は手段であって目的ではなく、プログラマーになることがゴールではありません。ネットワークセキュリティを学習する過程で、埋められないものは、より目的があり、時間を節約することをお勧めします。
2. ディープラーニングを最初の教訓として受け取らないでください
ネットワークセキュリティをしっかりと学ぶことを目的としている人が多いので、力が入りすぎて誤解に陥りがちです。すべての内容を深く学ぶことですが、最初の授業としてディープラーニングを使用するのは正しくありませんネットワークセキュリティの良いアイデアです。その理由は次のとおりです。
[1] ディープラーニングのブラックボックスの性質がより明白であり、学習して飲み込みやすい
【2】ディープラーニングはそれ自体に要求が高く、独学には不向きで行き詰まりやすい
3. あまりにも多くのデータを収集しないでください
インターネット上にはネットワーク セキュリティに関する学習教材が多数あり、毎回ダウンロードしたり視聴したりできる数ギガバイトの教材があります。また、多くの友人は「コレクション中毒」で、一度に十数冊の本を購入したり、数十本のビデオを集めたりしています。
多くのオンライン学習教材は非常に反復的で、コンテンツのほとんどは数年前から更新されていません。入門期間中は、「小さくても洗練された」教材を選択することをお勧めします。以下に、Xiaobai に適していると思われる学習リソースをいくつか紹介します。辛抱強く読み続けてください。
2. ネットワーク セキュリティを学習するためのいくつかの事前準備
1. ハードウェアの選択
「ネットワーク セキュリティを学ぶには、高度な構成のコンピュータが必要ですか?」とよく尋ねられますが、答えは「いいえ」です。ハッカーが使用するコンピュータは、安定している限り、高度な構成は必要ありません。 , ローエンドの CPU も非常に快適に動作し、メモリもあまり消費しません。もう 1 つ、ハッカーは DOS コマンドで実行されるため、コンピュータを最高の状態で使用できます。学習という名目でマシンを再購入しないでください...
2. ソフトウェアの選択
多くの人は、ハッカーが Linux、Windows、Mac システムのどれを使用するかを学ぶことに巻き込まれることになるでしょう。Linux は見た目はクールですが、初心者にとってはフレンドリーではありません。Windows システムは、仮想マシンを使用して学習用のターゲット マシンをインストールすることもできます。
プログラミング言語としては、拡張サポートが充実しているPythonが最もおすすめです。もちろん、市販されているWebサイトの多くはPHPで開発されているため、PHPを選択することも可能です。他の言語には C++、Java などがあります。
多くの友人は、すべての言語を学びたいかどうか尋ねます。答えは否定的です!上の私の文を引用すると、プログラミングの学習は単なるツールであり、目的ではありません。私たちの目標はプログラマーになることではありません。
(ここでさらに言及しておきたいのは、プログラミングを学習したからといってすぐに始めることはできませんが、ネットワーク セキュリティの道をどこまで進むことができるかを決定することができるため、基本的なプログラミングの知識を独学で学習することをお勧めします)
3. 語学力
コンピューターが最初に発明されたのは西洋であり、多くの名詞やコードは英語であることはわかっています。既存のチュートリアルの一部でさえ、元々は英語から翻訳されており、バグが中国語に翻訳されるまでには通常 1 週間かかります。脆弱性はパッチされている可能性があります。この時点での差。また、専門用語を理解していないと、他のハッカーと技術や経験を伝えるときに障害が発生するため、ある程度の英語とハッカーの専門用語が必要です(特に熟練している必要はありませんが、理解する必要があります)。基本的なことは理解できる)
例: ブロイラー、吊り馬、貝殻、WebShell など。
3. ネットワークセキュリティ学習ルート
第一段階:基本操作を始め、基礎知識を学ぶ
始めるための最初のステップは、現在主流のセキュリティ ツール コースと基本原則に関するサポート書籍を学ぶことであり、一般に、このプロセスには約 1 か月かかります。
この段階で、サイバーセキュリティについての基本的な理解はすでに得ています。最初のステップを終えた方は、SQL インジェクションとは何か、xss 攻撃とは何か、ということを理論的に理解していると思います。また、burp、msf、cs などのセキュリティ ツールの基本操作もマスターしていると思います。この時点で最も重要なことは、基礎を築き始めることです。
いわゆる「基礎」とは、実はコンピュータの基礎知識を体系的に学ぶことです。ネットワーク セキュリティをしっかり学びたい場合は、まず次の 5 つの基本知識モジュールを習得する必要があります。
1. オペレーティングシステム
2. プロトコル/ネットワーク
3. データベース
4. 開発言語
5. 一般的な脆弱性の原則
これらの基本を学ぶことが何の役に立つのでしょうか?
コンピューターのさまざまな分野の知識レベルによって、浸透レベルの上限が決まります。
[1] たとえば、高いレベルのプログラミングを持っている場合、コード監査では他の人よりも優れており、作成したエクスプロイト ツールは他の人よりも使いやすくなります。
[2] たとえば、データベースに関する高度な知識があれば、SQL インジェクション攻撃を実行するときに、他の人がバイパスできない WAF をバイパスできる、より優れた SQL インジェクション ステートメントを作成できます。
【3】例:ネットワークレベルが高いと、内部ネットワークに侵入する際に他のネットワーク構造よりも容易に対象のネットワーク構造を把握でき、自分がどこにいるのかを把握するためのネットワークトポロジーを取得したり、構成を取得したりすることができます。 router. ファイルの内容を確認すると、どのようなルートが作成されたかがわかります。
【4】別の例として、OSが良いと権限が強化され、情報収集効率が上がり、欲しい情報を効率的に絞り込むことができます。
第2段階:実際の運用
1.SRCの採掘
SRC を掘る目的は、主にスキルを実践することです。ネットワーク セキュリティを学ぶことの最大の幻想は、すべてを知っていると感じることですが、穴を掘ることになると何もできません。SRC は非常に良い機会です。スキルを適用するため。
2. 技術共有投稿から学ぶ(脆弱性マイニングタイプ)
過去10年間のゼロデイマイニング投稿をすべて見て勉強し、抜け穴を再現する環境を構築し、作者の掘り下げ思考を考え学び、自分自身の突き抜けた思考を養います。
3. 範囲練習
射撃場を自分で建設するか、無料の射撃場のウェブサイトにアクセスして練習するか、条件が整えば購入するか、信頼できる訓練機関に申し込むことができます。一般に、射撃場の練習をサポートするものがあります。
フェーズ 3: CTF 競技会または HVV 運用に参加する
推奨:CTFコンペティション
CTFには3つのポイントがあります。
【1】実戦に近いチャンス。今はネットワークセキュリティ法が非常に厳しくなったので、以前と違って誰でも自由に遊べるようになりました。
[2] トピックはテクノロジーの最前線に遅れをとっていますが、多くの本は遅れをとっています
【3】大学生であれば将来の就職にとても役立ちます
CTFの大会をプレイしたい場合は直接大会の質問へ、大会の質問が分からない場合は分からない内容に応じた情報へアクセスしてください
推奨: HVV (ネットワーク保護)
HVV には次の 4 つのポイントがあります。
[1] 運動量も多く、自分自身のスキルアップにもなりますので、毎年開催されるHVVアクションに参加するのがベストです
【2】サークル内で多くの偉人と出会い、人脈が広がる
【3】HVVは給料も非常に高いので参加すればかなり稼げます
【4】CTFコンテストと同様、大学生であれば将来の就職にも非常に役立ちます
第四に、教材の推奨
おすすめの書籍リスト:
コンピューターのオペレーティング システム:
[1] コーディング: コンピューターのソフトウェアやハードウェアの背後に隠された言語
【2】OSについての深い理解
【3】Windows OSについての深い理解
【4】Linuxカーネルと実装
プログラミング開発クラス:
【1】Windowsプログラミング
【2】windwos core になります
【3】Linuxプログラミング
【4】Unix環境が進化
【5】iOSはこうなります
[6] コードの最初の行 Android
【7】C言語設計
【8】Cプライマープラス
[9] C とポインタ
[10] C エキスパートプログラミング
[11] Cトラップと欠陥
[12] アセンブリ言語 (王双)
【13】Javaコア技術
【14】Javaプログラミングのアイデア
【15】Pythonコアプログラミング
[16] Linux シェルスクリプト戦略
[17] アルゴリズムの概要
[18] コンパイル原理
[19] コンパイルおよび逆コンパイル技術の実践
[20] コードをきれいにする方法
[21] コード百科事典
[22] TCP/IPの詳細説明
【23】ルートキット: システムのグレーゾーンに潜む者
【24】ハッキング攻撃・防御技術集
【25】暗号化と復号化
【26】C++の逆アセンブルと逆解析手法を公開
[27] Webセキュリティテスト
【28】ホワイトハットが語るWebセキュリティ
【29】スクリプトハッキングに堪能
【30】Webフロントエンドハッキング技術の秘密
[31] プログラマのアプリケーション
【32】英語ライティングハンドブック: スタイルの要素
一般的なインターネット セキュリティとフォーラム
- 康雪フォーラム
- 安全クラス
- 安全牛
- 安全内部基準
- グリーンリーグ
- 預言者コミュニティ
- XCTF アライアンス
また、ネットワークセキュリティに関する情報も以下にまとめていますので、一つ一つ調べるのが面倒な場合は、こちらを参照してください。
ビデオチュートリアル
SRC&ハッキング技術文書
ハッキングツールコレクション
困っている友達は舞台裏に目を向けて自分で手に入れることができます