Network Security (Self-study Notes)

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

1. Concepts related to web security (2 weeks)

  • Familiar with basic concepts (SQL injection, upload, XSS, CSRF, one-sentence Trojan horse, etc.).
  • Google/SecWiki through keywords (SQL injection, upload, XSS, CSRF, one-word Trojan horse, etc.);
  • Read "Mastering Script Hackers", although it is very old and has errors, it is still possible to get started;
  • Watch some infiltration notes/videos to understand the whole process of actual infiltration, you can Google (infiltration notes, infiltration process, intrusion process, etc.);

2. Familiar with penetration related tools (3 weeks)

  • Familiar with the use of AWVS, sqlmap, Burp, nessus, chopper, nmap, Appscan and other related tools.
  • To understand the purpose and usage scenarios of such tools, first use the software name Google/SecWiki;
  • Download the backdoor-free versions of these software for installation;
  • Learn and use, specific teaching materials can be searched on SecWiki, for example: Brup's tutorial, sqlmap;
  • Once you have learned these commonly used software, you can install Sonic Start to make a penetration toolbox;

3. Infiltration combat operation (5 weeks)

  • Master the entire stages of penetration and be able to independently penetrate small sites.
  • Look for infiltration videos on the Internet to watch and think about the ideas and principles, keywords (infiltration, SQL injection videos, file upload intrusion, database backup, dedecms exploits, etc.);
  • Find a site/build a test environment for testing by yourself, remember to hide yourself;
  • Thinking about penetration is mainly divided into several stages, and what work needs to be done in each stage, such as this: PTES penetration testing execution standard;
  • Study the types of SQL injection, injection principles, and manual injection techniques;
  • Study the principle of file upload, how to truncate, double suffix deception (IIS, PHP), analysis 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: XSS;
  • To study the method and specific use of Windows/Linux privilege escalation, please refer to: privilege escalation;
  • You can refer to: Open Source Penetration Testing Vulnerable Systems;

4. Pay attention to the dynamics of the security 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;
  • Pay attention to practitioners in the security circle through Weibo/twitter (if you encounter a big cow’s attention or a friend’s decisive attention), take time to check it every day;
  • Subscribe to domestic and foreign security technology blogs through feedly/fresh fruit (not limited to domestic, usually pay more attention to accumulation), if you don't have a feed, you can look at the aggregation column of SecWiki;
  • Cultivate the habit of actively submitting security technical articles to link to SecWiki every day for accumulation;
  • Pay more attention to the latest list of vulnerabilities, and recommend a few: exploit-db, CVE Chinese library, Wooyun, etc., and practice when encountering public vulnerabilities.
  • Follow the topics or videos of domestic and international security conferences, and recommend SecWiki-Conference.

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

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

6. Server security configuration (3 weeks)

  • Learn server environment configuration, and be able to discover security problems in the configuration through thinking.
  • IIS configuration under Windows2003/2008 environment, pay special attention to configuration security and operation permissions, you can refer to: SecWiki-configuration;
  • The security configuration of LAMP in the Linux environment mainly considers running permissions, cross-directory, folder permissions, etc., you can refer to: SecWiki-Configuration;
  • Remote system reinforcement, restrict user name and password login, and restrict ports through iptables;
  • Configure software Waf to strengthen system security, configure mod_security and other systems on the server, see SecWiki-ModSecurity;
  • The Nessus software is used 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 to learn programming of commonly used libraries.
  • Build a development environment and choose an IDE. The PHP environment recommends Wamp and XAMPP. The IDE strongly recommends Sublime. Some Sublime skills: SecWiki-Sublime;
  • Python programming learning, learning content includes: grammar, regularization, files, network, multi-threading and other common libraries, recommend "Python Core Programming", don't read it;
  • Write the exploit of the vulnerability in Python, and then write a simple web crawler, see SecWiki-crawler, video;
  • Learn PHP basic grammar and write a simple blog system, see "PHP and MySQL Programming (4th Edition)", video;
  • Familiar with the MVC architecture, and try to learn a PHP framework or Python framework (optional);
  • To understand the layout or CSS of Bootstrap, you can refer to: SecWiki-Bootstrap;

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

  • It can independently analyze script source code programs and find security problems.
  • Familiar with the dynamic and static methods of source code audit, and know how to analyze the program, see SecWiki-Audit;
  • Find and analyze the vulnerabilities of open source programs from Wooyun and try to analyze them yourself;
  • Understand the causes of Web vulnerabilities, and then search and analyze them through keywords, see SecWiki-Code Auditing, Advanced PHP Application Vulnerability Auditing 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)

  • Be able to build your own security system and put forward some security suggestions or system architecture.
  • Develop some practical security gadgets and open source to reflect personal strength;
  • Establish your own security system and have your own understanding and opinions on company security;
  • Propose or join the architecture or development of large security systems;
  • Watch yourself develop~

at last

After sorting out your own knowledge framework and knowing how to learn, the next step is to fill the framework with content.

At this time, we can also have many choices, such as CSDN, such as Zhihu, and station B. There are many people sharing their learning materials, but I think a big problem here is incoherence and imperfection. Some of the tutorials that are shared for free are all here and there.

If you really want to learn by yourself, I can share with you these tutorials that I have organized and collected. There are not only web security, but also penetration testing and other content, including e-books, interview questions, pdf documents, videos and related courseware. Notes, I have already learned, you can leave a message in the comment area to tell me.

The advice to my friends is to think clearly that there is no shortcut to self-study network security. In comparison, systematic network security is the most cost-effective way, because it can save you a lot of time and energy costs.

The advice for self-taught friends is to persevere. Now that you have come to this road, although the future seems to be difficult, as long as you grit your teeth and persevere, you will eventually get the effect you want.

 

Guess you like

Origin blog.csdn.net/jazzz98/article/details/131455972