If you want to teach yourself hacking (network security), I advise you to forget it!

 Preface

1. What is network security?

Network security can be classified based on attack and defense perspectives. The “red team” and “penetration testing” we often hear about study attack techniques, while the “blue team”, “security operations” and “security operations and maintenance” study defense. technology.

    No matter which field such as network, web, mobile, desktop, cloud, etc., there are two sides of attack and defense. For example, web security technology includes both web penetration and web defense technology (WAF). As a qualified network security engineer, you should be both offensive and defensive. After all, only by knowing yourself and the enemy can you be victorious in every battle.

2. How to plan network security

If you are new to the security industry, I suggest you start with network security or web security/penetration testing.

1. The market demand is high

Second, the development is relatively mature and it is easier to get started.

It is worth mentioning that when learning network security, you must first study the network and then security; when learning Web security, you must first study the Web and then security.

Security does not exist independently, but is an upper-layer application technology based on other technologies. Without this foundation, it is easy to turn into talking on paper and "knowing what is happening but not knowing why." It is also difficult to go far on a safe career path.

If you are originally engaged in network engineering operation and maintenance, you can choose to get started in the network security direction;
If you are originally engaged in program development, it is recommended to choose the Web security/penetration testing direction to get started.
Of course, once you have learned to a certain extent or have a certain amount of work experience, the coupling of technologies in different directions will become higher and higher, and you need to know a little bit about each direction.

According to the above network security skills list, it is easy to see that there are far more technologies that network security requires exposure to.

Common skills to learn:


3. There is a lot of knowledge about network security. How to arrange it scientifically and reasonably?

1. Basic stage

  • Cybersecurity Law of the People's Republic of China (includes 18 knowledge points)
  •  Linux operating system (including 16 knowledge points)
  •  Computer Network (includes 12 knowledge points)
  •  SHELL (contains 14 knowledge points)
  •  HTML/CSS (including 44 knowledge points)
  •  JavaScript (including 41 knowledge points)
  •  Introduction to PHP (including 12 knowledge points)
  •  MySQL database (including 30 knowledge points)
  •  Python (including 18 knowledge points)

The first step to get started is to systematically learn basic computer knowledge, that is, learn the following basic knowledge modules: operating system, protocol/network, database, development language, and common vulnerability principles.

    After learning the previous basic knowledge, it is time to practice.

    Because of the popularity of the Internet and informatization, website systems have a lot of external business, and the level of programmers and the configuration of operation and maintenance personnel vary, so there is more content that needs to be mastered.

2. Penetration stage

  •  SQL injection penetration and defense (including 36 knowledge points)
  •  XSS related penetration and defense (including 12 knowledge points)
  •  Upload verification penetration and defense (including 16 knowledge points)
  •  The document contains penetration and defense (including 12 knowledge points)
  •  CSRF penetration and defense (including 7 knowledge points)
  •  SSRF penetration and defense (including 6 knowledge points)
  •  XXE penetration and defense (including 5 knowledge points)
  •  Remote code execution penetration and defense (including 7 knowledge points)

Master the principles, uses, and defenses of common vulnerabilities. In the Web penetration stage, you still need to master some necessary tools.

    Main tools and platforms to master:burp, AWVS, Appscan, Nessus, sqlmap, nmap, shodan, fofa, proxy tools ssrs, hydra, medusa, airspoof etc. You can use the above open source shooting range to practice the above tools, which is enough;

3. Safety management (improvement)

  •  Penetration report writing (including 21 knowledge points)
  •  Level Protection 2.0 (includes 50 knowledge points)
  •  Emergency response (including 5 knowledge points)
  •  Code audit (including 8 knowledge points)
  •  Risk assessment (including 11 knowledge points)
  •  Safety inspection (including 12 knowledge points)
  •  Data security (including 25 knowledge points)

Mainly includes penetration report preparation, network security level protection grading, emergency response, code audit, risk assessment, security inspection, data security, compilation of laws and regulations, etc.

This stage is mainly for those who are already engaged in network security related work and need to be promoted to management positions. If you are only studying to take up engineering positions, you may or may not study at this stage.

4. Upgrade stage (upgrade)

  •  Cryptozoology (including 34 knowledge points)
  •  Introduction to JavaSE (including 92 knowledge points)
  •  C language (including 140 knowledge points)
  •  C++ language (including 181 knowledge points)
  •  Windows reverse engineering (including 46 knowledge points)
  •  CTF Capture the Flag Competition (including 36 knowledge points)
  •  Android reverse engineering (including 40 knowledge points)

Mainly including cryptography, JavaSE, C language, C++, Windows reverse engineering, CTF capture the flag competition, Android reverse engineering, etc.

Mainly aimed at those who are already engaged in network security related work and need to improve their knowledge of advanced security architecture.

4. Network security learning route

If you really want to get started with web security through self-study, I suggest you take a look at the following learning roadmap, which details how long to learn each knowledge point and how to learn it. The total self-study time is about half a year, and it is effective in personal testing (there is a surprise at the end of the article) ):

1. Web security related concepts (2 weeks)

 Be familiar with basic concepts (SQL injection, upload, XSS, CSRF, one-sentence Trojans, etc.).
 Google/SecWiki through keywords (SQL injection, upload, XSS, CSRF, one-sentence Trojan, etc.);
 Read "Mastering Script Hackers", although it is very There are mistakes in the old ones, but you can still get started;
 Watch some penetration notes/videos to understand the entire process of actual penetration. You can Google (penetration notes, penetration process, intrusion process, etc.);

2. Familiar with penetration related tools (3 weeks)

 Be familiar with the use of AWVS, sqlmap, Burp, nessus, chopper, nmap, Appscan and other related tools.
 To understand the purpose and usage scenarios of this type of tool, first use the software name Google/SecWiki;
 Download the backdoor-free version of these software and install it;
 Learn and use it. Specific teaching materials can be searched on SecWiki, such as Brup’s tutorials and sqlmap;
 Once you have learned these commonly used software, you can install Sonic Startup. A penetration toolbox;

3. Penetration practical operation (5 weeks)

Master all stages of penetration and be able to independently penetrate small sites.
 Look for penetration videos online and think about the ideas and principles, keywords (penetration, SQL injection video, file upload intrusion, database backup, dedecms vulnerability exploitation, etc.);< a i=2> Find your own site/build a test environment for testing, remember to hide yourself;  Think about penetration into several stages, and what work needs to be done in each stage, such as this : PTES penetration testing execution standards;  Study the types, injection principles, and manual injection techniques of SQL injection;  Study the principles of file upload, how to truncate and double suffix Spoofing (IIS, PHP), parsing vulnerability exploitation (IIS, Nignix, Apache), etc., refer to: Upload attack framework;  Study the principles and types of XSS formation. The specific learning method can be Google/SecWiki, You can refer to:






4. Pay attention to the dynamics of the safety circle (1 week)

 Pay attention to the latest vulnerabilities, security incidents and technical articles in the security circle.
 Browse daily security technology articles/events through SecWiki;
 Follow practitioners in the security circle through Weibo/twitter (encounter the attention of experts or decisive friends) Follow), take time to read it every day;
 Subscribe to domestic and foreign security technology blogs through feedly/Xianguo (don’t be limited to domestic, pay more attention to accumulation in daily life), if you don’t have a subscription source, you can check out SecWiki’s aggregation Column;
 Develop a habit and actively submit links to security technology articles to SecWiki every day for accumulation;
 Pay more attention to the latest vulnerability list, a few are recommended: exploit-db , CVE Chinese library, Wooyun, etc., practice it when you encounter public vulnerabilities.
 If you are interested in topics or videos of domestic and international security conferences, SecWiki-Conference is recommended.

5. Familiar with Windows/Kali Linux (3 weeks)

 Learn basic Windows/Kali Linux commands and common tools;
 Be familiar with common cmd commands under Windows, such as: ipconfig, nslookup, tracert, net, tasklist, taskkill, etc.; < /span>  If you are familiar with metasploit tools, you can refer to SecWiki, "Metasploit Penetration Testing Guide".  Familiar with common commands under Kali Linux system For tools, you can refer to SecWiki, "Web Penetration Testing with Kali Linux", "Hacking with Kali", etc.;
 Familiar with common commands under Linux, such as: ifconfig, ls, cp, mv, vi, wget, service, sudo, etc.;

6. Server security configuration (3 weeks)

 Learn server environment configuration and be able to discover security issues in the configuration through thinking.
 IIS configuration in Windows 2003/2008 environment, pay special attention to configuration security and running permissions, you can refer to: SecWiki-Configuration;
 Security configuration of LAMP in Linux environment , mainly considering running permissions, cross-directory, folder permissions, etc., you can refer to: SecWiki-Configuration;
 Remote system hardening, restricting login by user name and password, and restricting ports through iptables; < a i=4> Configure software Waf to strengthen system security, configure mod_security and other systems on the server, see SecWiki-ModSecurity;  Use Nessus software to perform security detection on the configuration environment and discover unknown security threats.

7. Script programming learning (4 weeks)

 Choose one of the scripting languages ​​​​Perl/Python/PHP/Go/Java and learn to program common libraries.
 Build a development environment and choose an IDE. Wamp and XAMPP are recommended for PHP environments. Sublime is highly recommended for IDE. Some Sublime tips: SecWiki-Sublime;
 Python programming learning, The learning content includes: grammar, regularity, files, networks, multi-threading and other common libraries. We recommend "Python Core Programming", don't read it all;
 Use Python to write exploits for vulnerabilities, and then write a simple For web crawlers, please see SecWiki-crawlers, videos;
 To learn basic PHP syntax and write a simple blog system, see "PHP and MySQL Programming (4th Edition)", videos; a>  To understand the layout or CSS of Bootstrap, you can refer to: SecWiki-Bootstrap;< /span>
 Be familiar with the MVC architecture, and try to learn a PHP framework or Python framework (optional);

8. Source code audit and vulnerability analysis (3 weeks)

 can independently analyze script source code programs and discover security issues.
 Familiar with the dynamic and static methods of source code auditing, and know how to analyze programs, see SecWiki-Audit;
 Find vulnerabilities in open source programs from Wooyun for analysis and Try to analyze it yourself;
 Understand the causes of web vulnerabilities, and then search and analyze through keywords, see SecWiki-Code Audit, Advanced PHP Application Vulnerability Audit Technology;
 Study the formation principles of Web vulnerabilities and how to avoid such vulnerabilities from the source code level, and organize them into a checklist.

9. Security system design and development (5 weeks)

 Can establish its own security system and put forward some security suggestions or system architecture.
 Develop some practical security tools and open source them to reflect personal strength;
 Establish your own security system and have your own understanding and opinions on company security; < /span>  Watch your own development~
 Propose or join the architecture or development of large-scale security systems;

5. Complete the knowledge framework (learning content)

    After sorting out your knowledge framework and knowing how to learn, the next step is to fill the framework with content.
    At this time, we have many choices, such as CSDN, Zhihu, and Bilibili. There are many people sharing their learning materials, but I think there is a big problem here. The problem is that they are incoherent and incomplete. Most of the tutorials shared for free are just one piece here and there, with no preface and follow-up. You will get confused as you learn. This is my personal experience after self-study.

All-stage learning route

       Like, add to favorites, and leave a message in the comment area "Already followed, please"! You can share it with everyone! Everyone, just pay attention to the background news!

    My advice to my friends is to think clearly. There is no shortcut to self-study network security. In comparison, systematic network security is the most cost-effective way, because it can help you save a lot of time and energy costs. Hold on, now that you've been on this road, even though the future may seem difficult, as long as you grit your teeth and persevere, you will eventually get the results you want.

 Like and add to favorites and leave a message in the comment area "Already followed. Requesting"! You can share it with everyone! Everyone, just pay attention to the background news!

2. Hacking tools & SRC technical documents & PDF books & web security, etc. (can be shared)

6. Network security prospects

There is a huge demand for talents and a large market vacancy. The popularization of Internet of Things applications and the popularization of 5G will increase the demand for network security positions.

In the long run, network security will only become more and more popular, and the rise of intelligent disciplines will inevitably drive the development of new network security technologies.

Three major development directions for network security in the future:

Network security (safety and other guarantees)

Cloud native security

 Application of AI artificial intelligence in network security (ChatGPT)

Big room for development:

Within the company, network engineers are basically in a "double-high" status, that is, high status and high remuneration. It has a wide range of employment opportunities, one specialty and multiple abilities, and practical experience is applicable to various fields.

Great value-added potential:

Mastering the enterprise's core network architecture and security technology has irreplaceable competitive advantages. With the enrichment of one's own experience and the maturity of project operations, the career value has room for appreciation.

Long career life:

The focus of a network engineer's work is on the construction and maintenance of enterprise information, which includes technical and management work. The job is relatively stable. With the continuous growth of project experience and in-depth understanding of the industry background, the job will become more and more popular as he gets older.

7. Recommended book list:

 Like and add to favorites and leave a message in the comment area "Already followed. Requesting"! You can share it with everyone! (Includes e-book list)

Computer operating system:

【1】Coding: the language hidden behind computer software and hardware

【2】In-depth understanding of the operating system

【3】In-depth understanding of Windows operating system

【4】Linux kernel and implementation

Programming development category:

【1】 windows programming

【2】windwos core becomes

【3】Linux Programming

【4】Advanced transformation of unix environment

【5】IOS becomes

【6】The first line of code Android

【7】C programming language design

【8】C primer plus

【9】C and pointers

【10】C Expert Programming

【11】C Traps and Defects

【12】Assembly language (Wang Shuang)

【13】java core technology

【14】java programming ideas

【15】Python core programming

【16】Linuxshell script strategy

【17】Introduction to Algorithms

【18】Compilation principle

【19】Practical combat of compilation and decompilation technology

【20】How to clean your code

【21】Code encyclopedia

【22】Detailed explanation of TCP/IP

【23】Rootkit: Lurkers in the gray area of ​​the system

【24】Hacker attack and defense technology guide

【25】Encryption and decryption

【26】C++ disassembly and reverse analysis technology revealed

【27】Web security testing

【28】White hat talks about web security

【29】Proficient in script hacking

【30】Web front-end hacking technology revealed

【31】Applications for programmers

【32】English Writing Handbook: Elements of Style

Special statement:

This tutorial is purely technical sharing! This tutorial is in no way intended to provide technical support to those with ill intentions! We also do not assume any joint liability arising from the misuse of technology! The purpose of this tutorial is to maximize everyone's attention to network security and take corresponding security measures, thereby reducing the economic losses caused by network security.

Guess you like

Origin blog.csdn.net/dexi113/article/details/135003558